Building a docker image¶
First the image itself:
docker build --tag idealoom docker
Then, create a my_docker.rc with the following content:
_extends = docker.rc
docker_idealoom_hosts = <public hostnames of your IdeaLoom processes>
Look at assembl/configs/docker.rc for other variables to override, notably mail servers. Stop postgres, redis and memcached locally. Decide whether you want to use an in-docker sentry or an external sentry server.
env PYTHONPATH=. idealoom-ini-files random -o docker_random.ini assembl/configs/docker.rc
rm docker/build/*
If doing this procedure for many containers, you’ll have to save assembl/configs/docker_random.ini in my_docker_random.ini and set random_file = my_docker_random.ini in assembl/configs/my_docker.rc.
If using Sentry in Docker:
fab -c assembl/configs/docker.rc docker_compose
docker-compose -f docker/build/docker-compose-stage1.yml up
Go to localhost:9000 to create a token for the admin user (username in assembl/configs/docker.rc, generated password in docker_random.ini). Make sure that token can administer projects (and organizations?). Add sentry_api_token = (the token) to your my_docker.rc.
Then stop the docker containers (Ctrl-C in the docker-compose window, or docker-compose -f docker/build/docker-compose-stage1.yml down in another)
If using an external Sentry:
Go to sentry to create a token for the admin user. Make sure that token can administer projects in your organization. Add sentry_api_token = (the token) to your my_docker.rc.
Whether or not using Sentry:
fab -c assembl/configs/my_docker.rc docker_compose
docker-compose -f docker/build/docker-compose.yml up
Your admin user for each assembl server will be admin@hostname. Use the password recovery process to set its initial password. (If you want to pshell instead, you can do it from docker exec -i -t build_idealoom1_1 bash.)
When developing the docker image, the build can be instructed to use a git repository different from the official develop branch with:
sudo docker build --build-arg GITREPO=https://github.com/dachary/idealoom.git --build-arg GITBRANCH=wip-docker --tag idealoom --no-cache docker
Signed-off-by: Marc-Antoine Parent <maparent@acm.org> Signed-off-by: Loic Dachary <loic@dachary.org>