Errors with sending forms to ODK Central because hard drive is full

I believe clearing /tmp from the service container should always work.

First, make sure you have a backup of your data. This should be a safe process but there’s always some risk when doing direct filesystem manipulations. If you don’t use managed backups, you can configure a temporary Google Drive account, request an immediate backup and then disable backing up again. You can also use the API to request a backup. See https://docs.getodk.org/central-backup/#performing-an-immediate-backup

Then log into your server and go to where you have your Central folder. Then get a shell to your service container:

cd
cd central
docker exec -it service sh

From there, go to the tmp directory and remove the subdirectories in it. They should all have a tmp prefix. Be very sure you are in the correct directory because rm cannot be undone.

cd /tmp
rm -rf tmp*

You should then be able to exit the container’s shell and restart Central:

exit
docker-compose stop
docker-compose up -d

It's important to run the last two docker-compose commands because it appears the temporary file library we use maintains a reference to submission temporary directories. Without the restart, submissions will fail.

2 Likes