fix healthcheck for nextcloud and database

Signed-off-by: Simon L <szaimen@e.mail.de>
This commit is contained in:
Simon L 2023-01-02 18:16:12 +01:00
parent 3e8cdf16b1
commit 54c642e787
4 changed files with 21 additions and 5 deletions

View file

@ -250,7 +250,8 @@ RUN set -ex; \
chmod +x /cron.sh && \ chmod +x /cron.sh && \
chmod +x /notify.sh && \ chmod +x /notify.sh && \
chmod +x /notify-all.sh && \ chmod +x /notify-all.sh && \
chmod +x /activate-collabora.sh chmod +x /activate-collabora.sh && \
chmod +x healthcheck.sh
RUN set -ex; \ RUN set -ex; \
mkdir /mnt/ncdata; \ mkdir /mnt/ncdata; \
@ -264,4 +265,4 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd
USER root USER root
ENTRYPOINT ["/start.sh"] 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 HEALTHCHECK CMD /healthcheck.sh

View file

@ -0,0 +1,7 @@
#!/bin/bash
sudo -u www-data nc -z "$POSTGRES_HOST" 5432 || exit 0
if ! sudo -u www-data nc -z localhost 9000 || ! sudo -u www-data nc -z localhost 7867; then
exit 1
fi

View file

@ -17,9 +17,12 @@ RUN set -ex; \
chown -R postgres:postgres "$PGDATA" chown -R postgres:postgres "$PGDATA"
COPY start.sh /usr/bin/ COPY start.sh /usr/bin/
COPY healthcheck.sh /usr/bin/
COPY init-user-db.sh /docker-entrypoint-initdb.d/ COPY init-user-db.sh /docker-entrypoint-initdb.d/
RUN chmod +x /usr/bin/start.sh; \ RUN set -ex; \
chmod +xr /docker-entrypoint-initdb.d/init-user-db.sh 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; \ RUN mkdir /mnt/data; \
chown postgres:postgres /mnt/data; chown postgres:postgres /mnt/data;
@ -32,4 +35,4 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd
USER postgres USER postgres
ENTRYPOINT ["start.sh"] 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 HEALTHCHECK CMD healthcheck.sh

View file

@ -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