ODK Aggregate Docker Image Automation

Hi everyone,

I recently deployed ODK aggregate v2.0.5 to a server using docker-compose. As part of this I decided to automate the build of a docker image from the github repo via github actions (instead of running build scripts on my own computer or the hosting server first).

The action can be found here:

The corresponding docker file is published here:
https://hub.docker.com/repository/docker/chrismclarke/odkaggregate

Here is an example docker-compose file for a full deployment making use of the image

(note, the db requires access to the initdb folder and script from the main repo, which can be copied from: https://github.com/opendatakit/aggregate/tree/master/docker-compose/initdb)

More work could be done to better tag/version future and past releases, but for now it fits my purposes.

1 Like

Dear @Chris_M_Clarke,
I tried to install ODK Aggregate on Docker and i used your docker-compose.yml

I think the installation is well according the screenshots below but one element don't run well. It's restarting.

Please i need your help.

Best regards

Hi @dkonan ,
I'm afraid I haven't looked at this in a while so I'm not really sure what the problem might be, but you might get some more clues if you check the logs for the container. You can do this via the docker logs <container ID> command.

You can get the ID of the container via docker ls command if running (or docker ls -a if not), and just need to type the first few letters of the ID (whatever will uniquely identify it)
E.g., docker ls

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS      
fcae22fa4144        xyz/my-image:latest     "/opt/bin/entrypoint-"   2 hours ago         Up 2 minutes
155206af2f03        abc/my-image:latest     "/entrypoint.sh mysql"   2 hours ago         Up 2 minutes

docker logs fc

Will give the logs of the container with id fcae22fa4144

Hi @Chris_M_Clarke,
Many thinks for your assistance.
After run the commande

docker logs 5f12b66f7260

I see this results in the screenshoots below

I run docker on my NAS Synology (RAM = 10 GO).
Best regards

Thanks, that's really useful. I can see from the first line that postgres specifies that a superuser password must be provided. I've modified the github gist above to include an environment field for the db where this can be specified or to allow connections without a password.

1 Like

Hi @Chris_M_Clarke,
After run new docker-compose.yml, i've the same issues.
After

docker logs "Contenair ID"

I've this result in the screenshoot

Best Regards