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.

5 Likes

Supplement to this. In Digital Ocean, first check your RAM (because you can downsize RAM in Digital Ocean, but not disk space). Older versions of Central versions ran on 1GB, but newer versions appear to require 2GB.

There was a helpful post from Yaw which I now can't find to link

1 Like