Skip to content
Snippets Groups Projects
DEPLOY.md 9.62 KiB

Deploying Conduit

Getting help

If you run into any problems while setting up Conduit, write an email to timo@koesters.xyz, ask us in #conduit:fachschaften.org or open an issue on GitLab.

Installing Conduit

Although you might be able to compile Conduit for Windows, we do recommend running it on a linux server. We therefore only offer Linux binaries.

You may simply download the binary that fits your machine. Run uname -m to see what you need. Now copy the right url:

CPU Architecture Download stable version Download development version
x84_64 / amd64 (Most servers and computers) Download Download
armv6 Download Download
armv7 (e.g. Raspberry Pi by default) Download Download
armv8 / aarch64 Download Download
$ sudo wget -O /usr/local/bin/matrix-conduit <url>
$ sudo chmod +x /usr/local/bin/matrix-conduit

Alternatively, you may compile the binary yourself

$ sudo apt install libclang-dev build-essential
$ cargo build --release

If you want to cross compile Conduit to another architecture, read the Cross-Compile Guide.

Adding a Conduit user

While Conduit can run as any user it is usually better to use dedicated users for different services. This also allows you to make sure that the file permissions are correctly set up.

In Debian you can use this command to create a Conduit user:

sudo adduser --system conduit --no-create-home

Forwarding ports in the firewall or the router

Conduit uses the ports 443 and 8448 both of which need to be open in the firewall.

If Conduit runs behind a router or in a container and has a different public IP address than the host system these public ports need to be forwarded directly or indirectly to the port mentioned in the config.

Setting up a systemd service

Now we'll set up a systemd service for Conduit, so it's easy to start/stop Conduit and set it to autostart when your server reboots. Simply paste the default systemd service you can find below into /etc/systemd/system/conduit.service.