summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorMoritz Heiber <hello@heiber.im>2023-01-27 22:43:04 +0000
committerJonas Zohren <git-pbkyr@jzohren.de>2023-01-27 22:43:04 +0000
commitcfcc9086ff4890131d498ed434d7934e23c5f060 (patch)
tree21b1e91e3cb2308199b5be6e782e2fe1b9c51b80 /docker
parentd68dad580b49c447e2c8cbcd5202e7781faffaea (diff)
downloadconduit-cfcc9086ff4890131d498ed434d7934e23c5f060.zip
Add a dynamic address resolution to the Docker healthcheck
Diffstat (limited to 'docker')
-rw-r--r--docker/healthcheck.sh9
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