2023-10-04 12:41:56 +03:00
|
|
|
#!/bin/bash
|
2023-07-21 14:06:41 -04:00
|
|
|
|
|
|
|
if [[ -z "$GID" ]]; then
|
|
|
|
GID="$UID"
|
|
|
|
fi
|
|
|
|
|
2024-06-13 17:27:19 +03:00
|
|
|
BINARY_NAME=/usr/bin/mautrix-signal
|
|
|
|
|
2023-07-21 14:06:41 -04:00
|
|
|
# Define functions.
|
|
|
|
function fixperms {
|
|
|
|
chown -R $UID:$GID /data
|
|
|
|
|
|
|
|
# /opt/mautrix-signal is read-only, so disable file logging if it's pointing there.
|
|
|
|
if [[ "$(yq e '.logging.writers[1].filename' /data/config.yaml)" == "./logs/mautrix-signal.log" ]]; then
|
|
|
|
yq -I4 e -i 'del(.logging.writers[1])' /data/config.yaml
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
if [[ ! -f /data/config.yaml ]]; then
|
2024-08-07 02:14:39 +03:00
|
|
|
$BINARY_NAME -c /data/config.yaml -e
|
2023-07-21 14:06:41 -04:00
|
|
|
echo "Didn't find a config file."
|
|
|
|
echo "Copied default config file to /data/config.yaml"
|
|
|
|
echo "Modify that config file to your liking."
|
|
|
|
echo "Start the container again after that to generate the registration file."
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ ! -f /data/registration.yaml ]]; then
|
2024-06-13 17:27:19 +03:00
|
|
|
$BINARY_NAME -g -c /data/config.yaml -r /data/registration.yaml || exit $?
|
2023-07-21 14:06:41 -04:00
|
|
|
echo "Didn't find a registration file."
|
|
|
|
echo "Generated one for you."
|
|
|
|
echo "See https://docs.mau.fi/bridges/general/registering-appservices.html on how to use it."
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
cd /data
|
|
|
|
fixperms
|
2023-11-14 16:03:17 -05:00
|
|
|
|
|
|
|
DLV=/usr/bin/dlv
|
2024-02-10 07:37:02 -05:00
|
|
|
if [ -x "$DLV" ]; then
|
|
|
|
if [ "$DBGWAIT" != 1 ]; then
|
2023-11-14 16:03:17 -05:00
|
|
|
NOWAIT=1
|
|
|
|
fi
|
2024-06-13 17:27:19 +03:00
|
|
|
BINARY_NAME="${DLV} exec ${BINARY_NAME} ${NOWAIT:+--continue --accept-multiclient} --api-version 2 --headless -l :4040"
|
2023-11-14 16:03:17 -05:00
|
|
|
fi
|
|
|
|
|
2024-06-13 17:27:19 +03:00
|
|
|
exec su-exec $UID:$GID $BINARY_NAME
|