mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
76 lines
2.1 KiB
Bash
Executable File
76 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright 2017 Vector Creations Ltd
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
set -e
|
|
|
|
: ${CONFIG_PATH:="/synapse/config"}
|
|
: ${POSTGRES_DATABASE:="synapse"}
|
|
: ${POSTGRES_HOST:="postgres"}
|
|
: ${POSTGRES_USER:="postgres"}
|
|
: ${REPORT_STATS:="yes"}
|
|
: ${SERVER_NAME:="localhost"}
|
|
|
|
DATABASE_CONFIG_PATH="${CONFIG_PATH}/database.yaml"
|
|
HOMESERVER_CONFIG_PATH="${CONFIG_PATH}/homeserver.yaml"
|
|
SYNAPSE_COMMAND="python -m synapse.app.homeserver"
|
|
|
|
. /synapse/bin/activate
|
|
cd /synapse
|
|
|
|
if [[ -n "${GENERATE_CONFIG}" ]]; then
|
|
${SYNAPSE_COMMAND} \
|
|
--server-name ${SERVER_NAME} \
|
|
--config-path ${HOMESERVER_CONFIG_PATH} \
|
|
--generate-config \
|
|
--report-stats=${REPORT_STATS}
|
|
|
|
if [[ -f "${DATABASE_CONFIG_PATH}" ]]; then
|
|
echo "Config file '${DATABASE_CONFIG_PATH}' already exists. Remove it if you want it to be generated."
|
|
else
|
|
echo "Generating ${DATABASE_CONFIG_PATH}..."
|
|
if [[ -n "${POSTGRES_PASSWORD}" ]]; then
|
|
(cat > ${DATABASE_CONFIG_PATH}) <<EOF
|
|
database:
|
|
name: psycopg2
|
|
args:
|
|
host: ${POSTGRES_HOST}
|
|
user: ${POSTGRES_USER}
|
|
password: ${POSTGRES_PASSWORD}
|
|
database: ${POSTGRES_DATABASE}
|
|
cp_min: 5
|
|
cp_max: 10
|
|
EOF
|
|
else
|
|
(cat > ${DATABASE_CONFIG_PATH}) <<EOF
|
|
database:
|
|
name: "sqlite3"
|
|
args:
|
|
database: "/synapse/data/homeserver.db"
|
|
EOF
|
|
fi
|
|
cat ${DATABASE_CONFIG_PATH} | grep -v password
|
|
fi
|
|
|
|
exit 0
|
|
fi
|
|
|
|
COMMAND="${SYNAPSE_COMMAND} --config-path ${HOMESERVER_CONFIG_PATH}"
|
|
if [[ -r "${DATABASE_CONFIG_PATH}" ]]; then
|
|
COMMAND="${COMMAND} --config-path ${DATABASE_CONFIG_PATH}"
|
|
fi
|
|
|
|
exec ${COMMAND}
|