summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorPaul van Tilburg <paul@luon.net>2021-04-16 22:10:07 +0200
committerPaul van Tilburg <paul@luon.net>2021-04-22 21:52:40 +0200
commit5bf43a4d7e5861cd9696da79aa26714bd18c8c3c (patch)
treef7341646acd0e6d2b76cf796dc2eaab762bb1676 /debian
parentab58609d3d85149ffcd342911dd326f397f39f24 (diff)
downloadconduit-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.Debian12
-rw-r--r--debian/matrix-conduit.service5
-rw-r--r--debian/postinst84
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