From a89ceb93d82fc27026dba548db4dd08989232323 Mon Sep 17 00:00:00 2001 From: Jade Ellis Date: Mon, 14 Jul 2025 20:24:29 +0100 Subject: [PATCH] docs: Update Docker and generic instructions Add instructions for proxying .well-known to Continuwuity in with Traefik. Clarify and expand build instructions in generic deployment, separating Rust toolchain and Nix approaches. --- docs/deploying/docker.md | 2 ++ docs/deploying/generic.md | 25 +++++++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/docs/deploying/docker.md b/docs/deploying/docker.md index 952f2c95..a928d081 100644 --- a/docs/deploying/docker.md +++ b/docs/deploying/docker.md @@ -137,6 +137,8 @@ and `.well-known/matrix/server`. With the service `well-known`, we use a single `nginx` container that serves those two files. +Alternatively, you can use Continuwuity's built-in delegation file capability. Set up the delegation files in the configuration file, and then proxy paths under `/.well-known/matrix` to continuwuity. For example, the label ``traefik.http.routers.continuwuity.rule=(Host(`matrix.ellis.link`) || (Host(`ellis.link`) && PathPrefix(`/.well-known/matrix`)))`` does this for the domain `ellis.link`. + ## Voice communication See the [TURN](../turn.md) page. diff --git a/docs/deploying/generic.md b/docs/deploying/generic.md index ac7f60c3..3f9d1a16 100644 --- a/docs/deploying/generic.md +++ b/docs/deploying/generic.md @@ -34,10 +34,21 @@ for performance. ### Compiling -Alternatively, you may compile the binary yourself. We recommend using -Nix (or [Lix](https://lix.systems)) to build Continuwuity as this provides the most -guaranteed reproducibility and makes it easiest to set up a build environment and generate -output. This approach also allows for easy cross-compilation. +Alternatively, you may compile the binary yourself. + +### Building with the Rust toolchain + +If wanting to build using standard Rust toolchains, make sure you install: + +- (On linux) `liburing-dev` on the compiling machine, and `liburing` on the target host +- (On linux) `pkg-config` on the compiling machine to allow finding `liburing` +- A C++ compiler and (on linux) `libclang` for RocksDB + +You can build Continuwuity using `cargo build --release --all-features`. + +### Building with Nix + +If you prefer, you can use Nix (or [Lix](https://lix.systems)) to build Continuwuity. This provides improved reproducibility and makes it easy to set up a build environment and generate output. This approach also allows for easy cross-compilation. You can run the `nix build -L .#static-x86_64-linux-musl-all-features` or `nix build -L .#static-aarch64-linux-musl-all-features` commands based @@ -45,12 +56,6 @@ on architecture to cross-compile the necessary static binary located at `result/bin/conduwuit`. This is reproducible with the static binaries produced in our CI. -If wanting to build using standard Rust toolchains, make sure you install: -- `liburing-dev` on the compiling machine, and `liburing` on the target host -- LLVM and libclang for RocksDB - -You can build Continuwuity using `cargo build --release --all-features` - ## Adding a Continuwuity user While Continuwuity can run as any user, it is better to use dedicated users for