diff options
author | Paul van Tilburg <paul@luon.net> | 2021-04-16 22:10:07 +0200 |
---|---|---|
committer | Paul van Tilburg <paul@luon.net> | 2021-04-22 21:52:40 +0200 |
commit | 5bf43a4d7e5861cd9696da79aa26714bd18c8c3c (patch) | |
tree | f7341646acd0e6d2b76cf796dc2eaab762bb1676 /debian | |
parent | ab58609d3d85149ffcd342911dd326f397f39f24 (diff) | |
download | conduit-5bf43a4d7e5861cd9696da79aa26714bd18c8c3c.zip |
Generate conduit.toml instead of debian environment file
Only generate this file once. I am not sure what to do with future
upgrades yet.
Diffstat (limited to 'debian')
-rw-r--r-- | debian/README.Debian | 12 | ||||
-rw-r--r-- | debian/matrix-conduit.service | 5 | ||||
-rw-r--r-- | debian/postinst | 84 |
3 files changed, 55 insertions, 46 deletions
diff --git a/debian/README.Debian b/debian/README.Debian index 69fb975..22416cf 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -4,19 +4,19 @@ Conduit for Debian Configuration ------------- -When installed, Debconf handles the configuration of the homeserver (host)name, -the address and port it listens on. These configuration variables end up in -/etc/matrix-conduit/debian. +When installed, Debconf generates the configuration of the homeserver +(host)name, the address and port it listens on. This configuration ends up in +/etc/matrix-conduit/conduit.toml. You can tweak more detailed settings by uncommenting and setting the variables -in /etc/matrix-conduit/local. This involves settings such as the maximum file -size for download/upload, enabling federation, etc. +in /etc/matrix-conduit/conduit.toml. This involves settings such as the maximum +file size for download/upload, enabling federation, etc. Running ------- The package uses the matrix-conduit.service systemd unit file to start and -stop Conduit. It loads the configuration files mentioned above to set up the +stop Conduit. It loads the configuration file mentioned above to set up the environment before running the server. This package assumes by default that Conduit is placed behind a reverse proxy diff --git a/debian/matrix-conduit.service b/debian/matrix-conduit.service index 5ab7917..7c12d1a 100644 --- a/debian/matrix-conduit.service +++ b/debian/matrix-conduit.service @@ -34,10 +34,7 @@ SystemCallFilter=@system-service SystemCallErrorNumber=EPERM StateDirectory=matrix-conduit -Environment="ROCKET_ENV=production" -Environment="ROCKET_DATABASE_PATH=/var/lib/matrix-conduit" -EnvironmentFile=/etc/matrix-conduit/debian -EnvironmentFile=/etc/matrix-conduit/local +Environment="CONDUIT_CONFIG=/etc/matrix-conduit/conduit.toml" ExecStart=/usr/sbin/matrix-conduit Restart=on-failure diff --git a/debian/postinst b/debian/postinst index bd7fb85..4a55930 100644 --- a/debian/postinst +++ b/debian/postinst @@ -4,7 +4,7 @@ set -e . /usr/share/debconf/confmodule CONDUIT_CONFIG_PATH=/etc/matrix-conduit -CONDUIT_CONFIG_FILE="$CONDUIT_CONFIG_PATH/debian" +CONDUIT_CONFIG_FILE="${CONDUIT_CONFIG_PATH}/conduit.toml" CONDUIT_DATABASE_PATH=/var/lib/matrix-conduit case "$1" in @@ -25,48 +25,60 @@ case "$1" in chown _matrix-conduit "$CONDUIT_DATABASE_PATH" fi - # Write the debconf values in the config. - db_get matrix-conduit/hostname - ROCKET_SERVER_NAME="$RET" - db_get matrix-conduit/address - ROCKET_ADDRESS="$RET" - db_get matrix-conduit/port - ROCKET_PORT="$RET" - cat >"$CONDUIT_CONFIG_FILE" << EOF -# Conduit homeserver Debian configuration -# -# Conduit is an application based on the Rocket web framework. -# Configuration of Conduit happens via Debconf (of which the resulting config -# is in this file) and optionally by uncommenting and tweaking the variables in -# /etc/matrix-conduit/local. + 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 FILE IS GENERATED BY DEBCONF AND WILL BE OVERRIDDEN! -# -# Please make changes by running: -# -# \$ dpkg-reconfigure matrix-conduit -# -# or by providing overriding changes in /etc/matrix-conduit/local. +# This is the only directory where Conduit will save its data. +database_path = "${CONDUIT_DATABASE_PATH}" -# The server (host)name of the Matrix homeserver. -# -# This is the hostname the homeserver will be reachable at via a client. -ROCKET_SERVER_NAME="$ROCKET_SERVER_NAME" - -# The address the Matrix homeserver listens on. -# +# 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. -ROCKET_ADDRESS="$ROCKET_ADDRESS" +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 -# The port of the Matrix homeserver. -# -# This port is could be any available port if accessed by a reverse proxy. -# By default the server listens on port 8000. -ROCKET_PORT="$ROCKET_PORT" +# Disable registration. No new users will be able to register on this server. +#allow_registration = false -# THIS FILE IS GENERATED BY DEBCONF AND WILL BE OVERRIDDEN! +# 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 = 4 # 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 |