85 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			3 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/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
 | 
						|
 | 
						|
# Disable registration. No new users will be able to register on this server.
 | 
						|
#allow_registration = false
 | 
						|
 | 
						|
# 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
 | 
						|
 | 
						|
#cache_capacity = 1073741824 # in bytes, 1024 * 1024 * 1024
 | 
						|
#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
 | 
						|
EOF
 | 
						|
    fi
 | 
						|
    ;;
 | 
						|
esac
 | 
						|
 | 
						|
#DEBHELPER#
 |