Central upgrade getting stuck

Running ODK central v2023.5.1 on Digital Ocean. Software is running fine including Enketo.

I have tried to update to the latest version following the upgrade steps

git pull and git submodule update both ran fine.

When running the compose commands docker compose pull && docker compose build --pull

I first get the error highlighted below concerning Enketo and then a few lines later it gets stuck on an extract. I have tried letting it run for 3 hours but no progress. Experience tells me that nothing takes that long in the ODK Central build.

The enketo error is not terminal and I don't know if it is related to the place it gets hung up

Tried doing a prune before running the compose but no change tot he outcome. Any other suggestions would be welcome

Extract of the feed from the console with the two problem places are::


[+] Building 295.6s (30/35)
 => => naming to docker.io/library/central-postgres                                          0.0s
 => [enketo internal] load .dockerignore                                                     0.0s
 => => transferring context: 67B                                                             0.0s
 => [enketo internal] load build definition from enketo.dockerfile                           0.0s
 => => transferring dockerfile: 951B                                                         0.0s
 => [enketo internal] load metadata for ghcr.io/enketo/enketo:7.5.0                          0.4s

=> ERROR [enketo 1/6] FROM ghcr.io/enketo/enketo:7.5.0@sha256:6332173ce048e80681863e6e719 25.8s

=> => resolve ghcr.io/enketo/enketo:7.5.0@sha256:6332173ce048e80681863e6e719abf0a3f5ee4e87  0.0s
 => => sha256:6332173ce048e80681863e6e719abf0a3f5ee4e873c9f6ef585cc1fc0e8cf 1.61kB / 1.61kB  0.0s
 => => sha256:54a23af08849c062e4e39c08bf5c070ec7c54217a67280adb26a1c44f5b87 2.01kB / 2.01kB  0.0s
 => => sha256:5dcef5c595f94026f2868d6ca82c17eac2b24912047d11450e929c3d7bcb7 3.31kB / 3.31kB  0.3s
 => => sha256:f69c1a284ce6a61a553177eb222a30a1ed015d582c2b490374e175c5f2a 47.97MB / 47.97MB  1.3s
 => => sha256:9fdea66328c53476242078e9fdb72cd0aeca59943a0c92ea10134545fd09e 8.65kB / 8.65kB  0.0s
 => => sha256:bc0965b23a04fe7f2d9fb20f597008fcf89891de1c705ffc1c80483a1f0 28.23MB / 28.23MB  0.8s
 => => sha256:6ce505ae46d9b83f2aee4f0a896a20a4251b7ef42c10d7a8f00b578a8e5fd 1.71MB / 1.71MB  0.7s
 => => sha256:891f3f9b7733dda26cf76799b47ca067f34679e19b13f70fc8453e81a2b1f609 448B / 448B   1.0s
 => => sha256:56b0efa11083b40e8402f365163dd0cfed89df9eab429e26d5ded2f18 144.50MB / 144.50MB  3.6s
 => => extracting sha256:bc0965b23a04fe7f2d9fb20f597008fcf89891de1c705ffc1c80483a1f098e4f    2.4s
 => => sha256:2d3e718dbfb36614c48967131dcbfae25c0c18d0d8b3a3377d38d0fff312a5c7 132B / 132B   1.2s
 => => sha256:9ffdbdca396c1256f20b5e54b04c3f80b73d9b91bcb4894b81fc6738c1250 7.22MB / 7.22MB  1.7s
 => => sha256:b2273d359fd72bec89b95a949651e682ba945050932c1352bcce6210 678.49MB / 678.49MB  13.8s
 => => extracting sha256:5dcef5c595f94026f2868d6ca82c17eac2b24912047d11450e929c3d7bcb7fd8    0.0s
 => => extracting sha256:f69c1a284ce6a61a553177eb222a30a1ed015d582c2b490374e175c5f2a988b9    3.1s
 => => extracting sha256:6ce505ae46d9b83f2aee4f0a896a20a4251b7ef42c10d7a8f00b578a8e5fd590    0.1s
 => => extracting sha256:891f3f9b7733dda26cf76799b47ca067f34679e19b13f70fc8453e81a2b1f609    0.0s
 => => extracting sha256:56b0efa11083b40e8402f365163dd0cfed89df9eab429e26d5ded2f18bec6a97    7.0s
 => => extracting sha256:2d3e718dbfb36614c48967131dcbfae25c0c18d0d8b3a3377d38d0fff312a5c7    0.0s
 => => extracting sha256:9ffdbdca396c1256f20b5e54b04c3f80b73d9b91bcb4894b81fc6738c125022e    0.7s

=> => extracting sha256:b2273d359fd72bec89b95a949651e682ba945050932c1352bcce62109a848150 5279.4s

Solved this. It was a disk space issue. I thouhgt I had plenty of disk space but not so.

If doing an update on a digital Ocean Ubuntu Droplet it is an idea to first run
df -h
on the Droplet and checking capacity.. I don't know exactly how much is needed, but certainly elss than 5GB free you will run into difficulties, and may require up to 10GB free.

I also benefitted from doing a docker system prune as there was quite a lot of rubbish in the volume, but be very careful, because depending on your architecture you may be deleting something useful.

2 Likes