Docker Compose for Central seems to have disappeared

1. What is the issue? Please be detailed.
Central inaccessible

I have my central server installed in a droplet on Digital Ocean and my domain hosted at Domains.co.za.
This configuration has been working perfectly since installation about 5 months ago.
For some strange unknown reason, recently I'm unable to access central.

I checked the status of the service on the Digital Ocean droplet and found running but the central web page cannot be found.

The droplet running ODK Central and contains many survey submissions from ODK Collect.

The survey workers are struggling to submit completed forms at this stage. Please assist.

2. What steps can we take to reproduce this issue?
Check when and how the docker compose installation disappeared.

3. What have you tried to fix the issue?
3.1 I contacted Digital Ocean and they reviewed the domain, and it shows couldn’t connect to the server on port 80 and 443. They went on to reviewed the port status and both ports appear as closed. They recommended that I check the service is up and running fine on the droplet server.
I checked the service and found it to be running.

3.2 I also checked the status of my installation with the command docker --version && compose version and found that docker compose seems to have disappeared. See console command output below

root@AM-COL:~/central# docker --version && compose version
Docker version 27.5.1, build a187fa5
Command 'compose' not found, but can be installed with:
apt install mailcap

Docker compose was installed successfully and has been running in the past. ODK Central contains many survey submissions from ODK Collect.

Any advice on how I can recover the docker compose installation without losing data, and how I can access the existing submissions in Central. If I reinstall compose, will I lose the data already in Central?

Please help.

4. Upload any forms or screenshots you can share publicly below.


Please use this link below command ,

  1. docker ps

and have a look on the status of docker. have a look on this , I hope this will solve your issue.

Hi all,

This has been resolved. I managed to reinstall docker compose and I can access Central.
The issue now is that The Central instance doesn't have my data (Projects, Users, Forms and Submissions. I was informed by support at Digital Ocean that "reinstalling it should not affect your data, as ODK Central's data is stored in Docker volumes or data directories."

I need advice on how I can restore my data my reinstalled central.

Kindly assist.

Fezile

Sounds like you may have run down on an old version of Central. Try the guidance at https://docs.getodk.org/central-troubleshooting/#database-reset-after-running-docker-command.

1 Like

Hi Yanokwa,

I'm really struggling to get the required guidance from the link you shared. Below is the output I'm getting when I run the commands in the guidance page.

Last login: Sat Mar 22 13:45:30 2025 from 162.243.190.66
root@AM-COL:~# cd central
root@AM-COL:~/central# CENTRAL_NEW_DB=$(docker inspect --type container central_postgres_1
-f '{{(index .Mounts 0).Source}}' | cut -d / -f 6)
Error response from daemon: No such container: central_postgres_1
root@AM-COL:~/central# CENTRAL_NEW_DB=$(docker inspect --type container central_postgres14
-f '{{(index .Mounts 0).Source}}' | cut -d / -f 6)
Error response from daemon: No such container: central_postgres14
root@AM-COL:~/central#

I must be missing something. Please SOS.

Fezile

This is the output I receive from the version query in Central:

versions:
42d83f19b30d638aae871243bce2caa0d8c6095d (v2024.1.0-1-g42d83f1)
3fb0c22b1cbdc3a6004963afcc3847a82c09307d client (v2024.1.0)
b4754cf52bfa64b1ca841bc9ccb64a38726398e8 server (v2024.1.0)

I see that the latest version is ODK Central v2024.3.2.

What happens if you run this from the command line? It should show all the databases currently on disk.

find /var/lib/docker/volumes/ -name pg_hba.conf 

Do you have a full system snapshot via Digital Ocean that you can roll back to?

Hi Yaw,

For the snapshot, I never created one for the old system.

For the command, I get the output
var/lib/docker/volumes/central_postgres14/_data/data/pg_hba.conf

Kindly advise on what to replace in the command to "Capture the location of the new (and empty) database"
$ CENTRAL_NEW_DB=$(docker inspect --type container central_postgres_1
-f '{{(index .Mounts 0).Source}}' | cut -d / -f 6)