99 lines
3.4 KiB
Bash
99 lines
3.4 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
. /usr/share/debconf/confmodule
|
|
|
|
CONDUIT_CONFIG_PATH=/etc/matrix-conduit
|
|
CONDUIT_CONFIG_FILE="${CONDUIT_CONFIG_PATH}/conduit.toml"
|
|
CONDUIT_DATABASE_PATH=/var/lib/matrix-conduit/
|
|
|
|
case "$1" in
|
|
configure)
|
|
# Create the `_matrix-conduit` user if it does not exist yet.
|
|
if ! getent passwd _matrix-conduit > /dev/null ; then
|
|
echo 'Adding system user for the Conduit Matrix homeserver' 1>&2
|
|
adduser --system --group --quiet \
|
|
--home "$CONDUIT_DATABASE_PATH" \
|
|
--disabled-login \
|
|
--force-badname \
|
|
_matrix-conduit
|
|
fi
|
|
|
|
# Create the database path if it does not exist yet and fix up ownership
|
|
# and permissions.
|
|
mkdir -p "$CONDUIT_DATABASE_PATH"
|
|
chown _matrix-conduit "$CONDUIT_DATABASE_PATH"
|
|
chmod 700 "$CONDUIT_DATABASE_PATH"
|
|
|
|
if [ ! -e "$CONDUIT_CONFIG_FILE" ]; then
|
|
# Write the debconf values in the config.
|
|
db_get matrix-conduit/hostname
|
|
CONDUIT_SERVER_NAME="$RET"
|
|
db_get matrix-conduit/address
|
|
CONDUIT_ADDRESS="$RET"
|
|
db_get matrix-conduit/port
|
|
CONDUIT_PORT="$RET"
|
|
mkdir -p "$CONDUIT_CONFIG_PATH"
|
|
cat > "$CONDUIT_CONFIG_FILE" << EOF
|
|
[global]
|
|
# The server_name is the pretty name of this server. It is used as a suffix for
|
|
# user and room ids. Examples: matrix.org, conduit.rs
|
|
|
|
# The Conduit server needs all /_matrix/ requests to be reachable at
|
|
# https://your.server.name/ on port 443 (client-server) and 8448 (federation).
|
|
|
|
# If that's not possible for you, you can create /.well-known files to redirect
|
|
# requests. See
|
|
# https://matrix.org/docs/spec/client_server/latest#get-well-known-matrix-client
|
|
# and
|
|
# https://matrix.org/docs/spec/server_server/r0.1.4#get-well-known-matrix-server
|
|
# for more information
|
|
|
|
server_name = "${CONDUIT_SERVER_NAME}"
|
|
|
|
# This is the only directory where Conduit will save its data.
|
|
database_path = "${CONDUIT_DATABASE_PATH}"
|
|
database_backend = "rocksdb"
|
|
|
|
# The address Conduit will be listening on.
|
|
# By default the server listens on address 0.0.0.0. Change this to 127.0.0.1 to
|
|
# only listen on the localhost when using a reverse proxy.
|
|
address = "${CONDUIT_ADDRESS}"
|
|
|
|
# The port Conduit will be running on. You need to set up a reverse proxy in
|
|
# your web server (e.g. apache or nginx), so all requests to /_matrix on port
|
|
# 443 and 8448 will be forwarded to the Conduit instance running on this port
|
|
# Docker users: Don't change this, you'll need to map an external port to this.
|
|
port = ${CONDUIT_PORT}
|
|
|
|
# Max size for uploads
|
|
max_request_size = 20_000_000 # in bytes
|
|
|
|
# Enables registration. If set to false, no users can register on this server.
|
|
allow_registration = true
|
|
|
|
# A static registration token that new users will have to provide when creating
|
|
# an account.
|
|
# - Insert a password that users will have to enter on registration
|
|
# - Start the line with '#' to remove the condition
|
|
#registration_token = ""
|
|
|
|
allow_federation = true
|
|
allow_check_for_updates = true
|
|
|
|
# Enable the display name lightning bolt on registration.
|
|
enable_lightning_bolt = true
|
|
|
|
# Servers listed here will be used to gather public keys of other servers.
|
|
# Generally, copying this exactly should be enough. (Currently, Conduit doesn't
|
|
# support batched key requests, so this list should only contain Synapse
|
|
# servers.)
|
|
trusted_servers = ["matrix.org"]
|
|
|
|
#max_concurrent_requests = 100 # How many requests Conduit sends to other servers at the same time
|
|
EOF
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
#DEBHELPER#
|