diff --git a/Containers/nextcloud/Dockerfile b/Containers/nextcloud/Dockerfile index 60dffc10d06..881ee0c6544 100644 --- a/Containers/nextcloud/Dockerfile +++ b/Containers/nextcloud/Dockerfile @@ -250,7 +250,8 @@ RUN set -ex; \ chmod +x /cron.sh && \ chmod +x /notify.sh && \ chmod +x /notify-all.sh && \ - chmod +x /activate-collabora.sh + chmod +x /activate-collabora.sh && \ + chmod +x /healthcheck.sh RUN set -ex; \ mkdir /mnt/ncdata; \ @@ -264,4 +265,4 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd USER root ENTRYPOINT ["/start.sh"] -HEALTHCHECK CMD (sudo -u www-data nc -z "$POSTGRES_HOST" 5432 || exit 0) && (sudo -u www-data nc -z localhost 9000 && sudo -u www-data nc -z localhost 7867) || exit 1 \ No newline at end of file +HEALTHCHECK CMD sudo -E -u www-data bash /healthcheck.sh diff --git a/Containers/nextcloud/healthcheck.sh b/Containers/nextcloud/healthcheck.sh new file mode 100644 index 00000000000..df87360c326 --- /dev/null +++ b/Containers/nextcloud/healthcheck.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +nc -z "$POSTGRES_HOST" 5432 || exit 0 + +if ! nc -z localhost 9000 || ! nc -z localhost 7867; then + exit 1 +fi diff --git a/Containers/postgresql/Dockerfile b/Containers/postgresql/Dockerfile index ea8daff4f46..5bd02dd788a 100644 --- a/Containers/postgresql/Dockerfile +++ b/Containers/postgresql/Dockerfile @@ -17,9 +17,12 @@ RUN set -ex; \ chown -R postgres:postgres "$PGDATA" COPY start.sh /usr/bin/ +COPY healthcheck.sh /usr/bin/ COPY init-user-db.sh /docker-entrypoint-initdb.d/ -RUN chmod +x /usr/bin/start.sh; \ - chmod +xr /docker-entrypoint-initdb.d/init-user-db.sh +RUN set -ex; \ + chmod +x /usr/bin/start.sh; \ + chmod +xr /docker-entrypoint-initdb.d/init-user-db.sh; \ + chmod +x /usr/bin/healthcheck.sh RUN mkdir /mnt/data; \ chown postgres:postgres /mnt/data; @@ -32,4 +35,4 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd USER postgres ENTRYPOINT ["start.sh"] -HEALTHCHECK CMD (test -f "/mnt/data/backup-is-running" && exit 0) && psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "select now()" || exit 1 \ No newline at end of file +HEALTHCHECK CMD healthcheck.sh diff --git a/Containers/postgresql/healthcheck.sh b/Containers/postgresql/healthcheck.sh new file mode 100644 index 00000000000..064bfbcb38e --- /dev/null +++ b/Containers/postgresql/healthcheck.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +test -f "/mnt/data/backup-is-running" && exit 0 + +psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "select now()" || exit 1