add wrapper script for a clean startup in container

This commit is contained in:
Morgan McMillian 2022-12-11 06:29:12 -08:00
parent 82c2ab105a
commit edd1ef6212

26
wait-for-synapse.sh Executable file
View file

@ -0,0 +1,26 @@
#!/bin/sh
# wait-for-synapse.sh
#
# based on an exmaple from https://docs.docker.com/compose/startup-order/
#
# command: ["./wait-for-synapse.sh", "synapse", "python", "/usr/src/app/pnut-matrix.py", "-d"]
set -e
host="$1"
# Shift arguments with mapping:
# - $0 => $0
# - $1 => <discarded>
# - $2 => $1
# - $3 => $2
# - ...
# This is done for `exec "$@"` below to work correctly
shift
until [ "200" == $(curl -s -o /dev/null --head -w "%{http_code}" https://${host}/_matrix/client/versions) ]; do
>&2 echo "synapse is unavailable - sleeping"
sleep 3
done
>&2 echo "synapse is up - executing command"
exec "$@"