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.
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:
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.