diff options
author | Moritz Heiber <hello@heiber.im> | 2023-01-27 22:43:04 +0000 |
---|---|---|
committer | Jonas Zohren <git-pbkyr@jzohren.de> | 2023-01-27 22:43:04 +0000 |
commit | cfcc9086ff4890131d498ed434d7934e23c5f060 (patch) | |
tree | 21b1e91e3cb2308199b5be6e782e2fe1b9c51b80 /docker | |
parent | d68dad580b49c447e2c8cbcd5202e7781faffaea (diff) | |
download | conduit-cfcc9086ff4890131d498ed434d7934e23c5f060.zip |
Add a dynamic address resolution to the Docker healthcheck
Diffstat (limited to 'docker')
-rw-r--r-- | docker/healthcheck.sh | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/docker/healthcheck.sh b/docker/healthcheck.sh index 42b2e10..62f2f98 100644 --- a/docker/healthcheck.sh +++ b/docker/healthcheck.sh @@ -6,9 +6,14 @@ if [ -z "${CONDUIT_PORT}" ]; then CONDUIT_PORT=$(ss -tlpn | grep conduit | grep -m1 -o ':[0-9]*' | grep -m1 -o '[0-9]*') fi +# If CONDUIT_ADDRESS is not set try to get the address from the process list +if [ -z "${CONDUIT_ADDRESS}" ]; then + CONDUIT_ADDRESS=$(ss -tlpn | awk -F ' +|:' '/conduit/ { print $4 }') +fi + # The actual health check. # We try to first get a response on HTTP and when that fails on HTTPS and when that fails, we exit with code 1. # TODO: Change this to a single wget call. Do we have a config value that we can check for that? -wget --no-verbose --tries=1 --spider "http://localhost:${CONDUIT_PORT}/_matrix/client/versions" || \ - wget --no-verbose --tries=1 --spider "https://localhost:${CONDUIT_PORT}/_matrix/client/versions" || \ +wget --no-verbose --tries=1 --spider "http://${CONDUIT_ADDRESS}:${CONDUIT_PORT}/_matrix/client/versions" || \ + wget --no-verbose --tries=1 --spider "https://${CONDUIT_ADDRESS}:${CONDUIT_PORT}/_matrix/client/versions" || \ exit 1 |