docker-nextcloud icon indicating copy to clipboard operation
docker-nextcloud copied to clipboard

Accessing database before it might be available

Open waja opened this issue 3 years ago • 1 comments

Hi,

In https://github.com/Wonderfall/docker-nextcloud/blob/main/rootfs/usr/local/bin/setup.sh#L58-L64 we are checking if the database is accessible, which is totally fine:

if [ ${DB_TYPE} != "sqlite3" ]; then
  until nc -z "${DB_HOST:-nextcloud-db}" "${DB_PORT:-3306}"
  do
    echo "waiting for the database container..."
    sleep 1
  done
fi

Looking into https://github.com/Wonderfall/docker-nextcloud/blob/main/rootfs/usr/local/bin/run.sh#L18-L24 indicates, that this is okay for new installations. But for existing setups, we just call occ upgrade without checking if the database is available. This results into a race condition, which may lead into issues when updating (needing manual intervention) and in best cases just noisy logs.

Does it make sense for you to check for availability of the database just before line 18 in run.sh? If it's okay for you, I can push a PR for you.

waja avatar Nov 18 '22 22:11 waja

@Wonderfall Any opinion on that?

waja avatar Sep 18 '23 20:09 waja