There is docker-compose.yml file describing two services: concertim and db. db contains a postgresql server and concertim contains everything else. The db service is built from the official postgresql image. The concertim image is built from a Dockerfile. Building the docker images is complicated/non-standard a build-docker.sh script has been added to manage this.
The ansible playbook made some assumptions that do not work with docker.
It is possible to install services and start them via systemctl during the playbook.
The database (and other services) would be running on localhost.
It is possible to migrate databases and create/update data during the
playbook.
To that end the ansible playbook/roles have seen some changes.
Creating the database user has been moved out of the database role and into the ct-visualisation-app role. This is probably a better location for it.
Two new ansible variables and an ansible tag have been added allowing the playbook to be split into "build" and "post build" tasks. When running docker-compose build only the "build" tasks are ran. Afterwards, the "post build" tasks are ran via docker-compose run.
There are a few issues with the current implementation:
[ ] The splitting of tasks could be done in a much nicer way.
[X] The systemd service files for ct-visualisation-app and ct-metric-*-daemon are not correctly installed.
[ ] The concertim docker image is far too large.
[ ] The concertim docker image uses systemd to launch all of its processes which requires it to be ran in --privileged mode.
[x] There are issues with the database not having a postgres role.
There is
docker-compose.yml
file describing two services:concertim
anddb
.db
contains a postgresql server andconcertim
contains everything else. Thedb
service is built from the official postgresql image. Theconcertim
image is built from aDockerfile
. Building the docker images is complicated/non-standard abuild-docker.sh
script has been added to manage this.The ansible playbook made some assumptions that do not work with docker.
systemctl
during the playbook.localhost
.To that end the ansible playbook/roles have seen some changes.
docker-compose build
only the "build" tasks are ran. Afterwards, the "post build" tasks are ran viadocker-compose run
.There are a few issues with the current implementation:
ct-visualisation-app
andct-metric-*-daemon
are not correctly installed.concertim
docker image is far too large.concertim
docker image usessystemd
to launch all of its processes which requires it to be ran in--privileged
mode.postgres
role.