Setting up Conduit
A single-container Matrix homeserver, meant to sit behind a reverse proxy that handles the TLS.
- 1
Write a config file
Conduit needs a server_name (the domain this homeserver will be known as on the network) and a database path before it'll start. Registration is worth leaving closed unless there's a reason to let strangers sign up.
# conduit.toml [global] server_name = "matrix.example.com" database_path = "/var/lib/matrix-conduit/" port = 6167 allow_registration = false - 2
Run the container
Mount the config file and a data volume for the database, then start it.
services: conduit: image: matrixconduit/matrix-conduit:latest container_name: conduit restart: unless-stopped ports: - "6167:6167" volumes: - ./conduit.toml:/etc/matrix-conduit/conduit.toml:ro - ./data:/var/lib/matrix-conduit - 3
Put a reverse proxy in front of it
Conduit talks plain HTTP on port 6167; nginx (its own guide in this Library covers the basics) or another reverse proxy should handle the TLS certificate and forward matrix.example.com to it.
- 4
Create the first account and connect a client
With registration left closed, the first account is usually created by briefly flipping allow_registration to true, signing up once from Element, then flipping it back off.
Further reading
- Conduit documentation
Configuration reference and deployment notes for the homeserver itself.
- Matrix specification
The underlying open protocol Conduit implements, useful background for federation and client behavior.