#!/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 # Controls the log verbosity. See also [here][0]. # # [0]: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives #log = "..." EOF fi ;; esac #DEBHELPER#