mjolnir/docker/mjolnir/start.sh

37 lines
1.7 KiB
Bash

#!/bin/bash
CONFIG_ROOT="/data/config"
CONFIG_PATH="/data/config/config.yaml"
DEFAULT_CONFIG_PATH="/etc/mjolnir-defaults/default.yaml"
HOME_SERVER_URL="${HOME_SERVER_URL:-https://matrix.org}"
RAW_HOME_SERVER_URL="${RAW_HOME_SERVER_URL:-https://matrix.org}"
ACCESS_TOKEN="${ACCESS_TOKEN:-YOUR_TOKEN_HERE}"
PANTALAIMON_USE="${PANTALAIMON_USE:-false}"
PANTALAIMON_USERNAME="${PANTALAIMON_USERNAME:-mjolnir}"
PANTALAIMON_PASSWORD="${PANTALAIMON_PASSWORD:-your_password}"
SENTRY_DSN="${SENTRY_DSN:-}"
SENTRY_TRACES_SAMPLE_RATE="${SENTRY_TRACES_SAMPLE_RATE:-0.5}"
WEB_LISTEN_ADDRESS="${WEB_LISTEN_ADDRESS:-0.0.0.0}"
if [ ! -f "$DEFAULT_CONFIG_PATH" ]; then
echo "Default config $DEFAULT_CONFIG_PATH not found. Exiting."
exit 1
fi
# Ensure the /etc/mjolnir directory exists
mkdir -p $CONFIG_ROOT
# Always copy the default to config to ensure it's the latest before applying changes
cp $DEFAULT_CONFIG_PATH $CONFIG_PATH
# Apply environment variable configurations to the config file
sed -i "s|homeserverUrl:.*|homeserverUrl: \"$HOME_SERVER_URL\"|" $CONFIG_PATH
sed -i "s|rawHomeserverUrl:.*|rawHomeserverUrl: \"$RAW_HOME_SERVER_URL\"|" $CONFIG_PATH
sed -i "s|accessToken:.*|accessToken: \"$ACCESS_TOKEN\"|" $CONFIG_PATH
sed -i "s|use: false|use: $PANTALAIMON_USE|" $CONFIG_PATH
sed -i "s|username:.*|username: \"$PANTALAIMON_USERNAME\"|" $CONFIG_PATH
sed -i "s|password:.*|password: \"$PANTALAIMON_PASSWORD\"|" $CONFIG_PATH
sed -i "/^#.*dsn:/s|# dsn:.*|dsn: \"$SENTRY_DSN\"|" $CONFIG_PATH
sed -i "/^#.*tracesSampleRate:/s|# tracesSampleRate:.*|tracesSampleRate: $SENTRY_TRACES_SAMPLE_RATE|" $CONFIG_PATH
sed -i "s|address:.*|address: \"$WEB_LISTEN_ADDRESS\"|" $CONFIG_PATH
node /mjolnir/index.js