2021-08-29 18:01:38 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
2022-01-28 22:23:58 +00:00
|
|
|
# If the config file does not contain a default port and the CONDUIT_PORT env is not set, create
|
|
|
|
# try to get port from process list
|
2022-01-28 21:19:19 +00:00
|
|
|
if [ -z "${CONDUIT_PORT}" ]; then
|
2022-02-01 23:51:38 +00:00
|
|
|
CONDUIT_PORT=$(ss -tlpn | grep conduit | grep -m1 -o ':[0-9]*' | grep -m1 -o '[0-9]*')
|
2022-01-28 21:19:19 +00:00
|
|
|
fi
|
|
|
|
|
2023-01-27 22:43:04 +00:00
|
|
|
# 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
|
|
|
|
|
2021-08-29 18:01:38 +00:00
|
|
|
# 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.
|
2021-11-21 17:34:08 +00:00
|
|
|
# TODO: Change this to a single wget call. Do we have a config value that we can check for that?
|
2023-01-27 22:43:04 +00:00
|
|
|
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" || \
|
2021-08-29 18:01:38 +00:00
|
|
|
exit 1
|