#!/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/conduit_db 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. if [ ! -d "$CONDUIT_DATABASE_PATH" ]; then mkdir -p "$CONDUIT_DATABASE_PATH" chown _matrix-conduit "$CONDUIT_DATABASE_PATH" fi 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 name of this server. It is used as a suffix for user # and room ids. Examples: matrix.org, conduit.rs # The Conduit server needs to be reachable at https://your.server.name/ on port # 443 (client-server) and 8448 (federation) OR 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}" # 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. 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 # Disable encryption, so no new encrypted rooms can be created. # Note: Existing rooms will continue to work. #allow_encryption = false #allow_federation = false # Enable jaeger to support monitoring and troubleshooting through jaeger. #allow_jaeger = false #max_concurrent_requests = 100 # How many requests Conduit sends to other servers at the same time #log = "info,state_res=warn,rocket=off,_=off,sled=off" #workers = 4 # default: cpu core count * 2 # The total amount of memory that the database will use. #db_cache_capacity_mb = 200 EOF fi ;; esac #DEBHELPER#