The Webcoast
Back to Conduit

Setting up Conduit

A single-container Matrix homeserver, meant to sit behind a reverse proxy that handles the TLS.

  1. 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. 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. 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. 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.