Dmemo
Database description management tool.
Prerequisite
- Google APIs of your Google Cloud Platform project is met the following requirement:
- Google+ API is enabled
- Credential of OAuth client is created, whose application type is "Web applicatoin" and whose authorized redirect URIs includes a URL like "http://localhost:3000/auth/google_oauth2/callback"
Setup
$ ./bin/setup
$ # Set GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET of your OAuth client credential
$ vi .env
$ bundle exec foreman start
Docker
Docker images are published on Docker Hub. https://hub.docker.com/r/hogelog/dmemo/
$ cp .env.production.sample .env.docker
$ # Set all environment variables.
$ # You can generate secret_key_base by the following command:
$ # `docker run --rm --env-file .env.docker -t hogelog/dmemo ./bin/rake secret`
$ vi .env.docker
$ docker run --rm --env-file .env.docker -t hogelog/dmemo ./bin/docker_db_apply.sh
$ docker-compose up
Execute synchronization
./bin/rails r 'SynchronizeDataSources.run'
or
docker run --rm --env-file .env.docker -t hogelog/dmemo ./bin/rails r 'SynchronizeDataSources.run'
Configure
Create Admin User
- Login dmemo by google account
- Activate user as admin
$ ./bin/rake admin:activate [email protected]
or
$ docker run --env-file .env.docker hogelog/dmemo ./bin/docker_admin_activate.sh [email protected]
Environment Variables
Name | Description |
---|---|
GOOGLE_CLIENT_ID (required) | Client ID of Google APIs |
GOOGLE_CLIENT_SECRET (required) | Client secret of Google APIs |
GOOGLE_HOSTED_DOMAIN | See https://developers.google.com/identity/protocols/OpenIDConnect#hd-param |
SECRET_KEY_BASE (required only in production) | A secret value generated by ./bin/rake secret |
DATABASE_URL (required only in production) | URL like postgresql://user@hostname/dbname |
DATABASE_PASSWORD (for production) | Password info in addition to DATABASE_URL |