mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
docs(generic): Various fixes for consistency with other pages
* Use indirect URLs * Change your.server.name to canonical example.com * Put Getting help section in a tip admonition * Remove statement on Caddy preference * Clean up "What's next" section
This commit is contained in:
+37
-25
@@ -1,10 +1,12 @@
|
|||||||
# Generic deployment documentation
|
# Generic deployment documentation
|
||||||
|
|
||||||
> ### Getting help
|
:::tip Getting help
|
||||||
>
|
If you run into any problems while setting up Continuwuity, ask us in
|
||||||
> If you run into any problems while setting up Continuwuity, ask us in
|
`#continuwuity:continuwuity.org` or [open an issue on
|
||||||
> `#continuwuity:continuwuity.org` or [open an issue on
|
Forgejo][forgejo-new-issue].
|
||||||
> Forgejo](https://forgejo.ellis.link/continuwuation/continuwuity/issues/new).
|
:::
|
||||||
|
|
||||||
|
[forgejo-new-issue]: https://forgejo.ellis.link/continuwuation/continuwuity/issues/new
|
||||||
|
|
||||||
## Installing Continuwuity
|
## Installing Continuwuity
|
||||||
|
|
||||||
@@ -15,9 +17,9 @@ run the `uname -m` to check which you need.
|
|||||||
|
|
||||||
Prebuilt binaries are available from:
|
Prebuilt binaries are available from:
|
||||||
|
|
||||||
- **Tagged releases**: [Latest release page](https://forgejo.ellis.link/continuwuation/continuwuity/releases/latest)
|
- **Tagged releases**: [see Release page][release-page]
|
||||||
- **Development builds**: CI artifacts from the `main` branch
|
- **Development builds**: CI artifacts from the `main` branch
|
||||||
(includes Debian/Ubuntu packages)
|
(includes Debian/Ubuntu packages), [see Actions page for details][actions-page]
|
||||||
|
|
||||||
When browsing CI artifacts, `ci-bins` contains binaries organised
|
When browsing CI artifacts, `ci-bins` contains binaries organised
|
||||||
by commit hash, while `releases` contains tagged versions. Sort
|
by commit hash, while `releases` contains tagged versions. Sort
|
||||||
@@ -26,6 +28,9 @@ by last modified date to find the most recent builds.
|
|||||||
The binaries require jemalloc and io_uring on the host system. Currently
|
The binaries require jemalloc and io_uring on the host system. Currently
|
||||||
we can't cross-build static binaries - contributions are welcome here.
|
we can't cross-build static binaries - contributions are welcome here.
|
||||||
|
|
||||||
|
[release-page]: https://forgejo.ellis.link/continuwuation/continuwuity/releases/
|
||||||
|
[actions-page]: https://forgejo.ellis.link/continuwuation/continuwuity/actions/
|
||||||
|
|
||||||
#### Performance-optimised builds
|
#### Performance-optimised builds
|
||||||
|
|
||||||
For x86_64 systems with CPUs from the last ~15 years, use the
|
For x86_64 systems with CPUs from the last ~15 years, use the
|
||||||
@@ -38,11 +43,12 @@ compatibility and speed.
|
|||||||
If you're using Docker instead, equivalent performance-optimised
|
If you're using Docker instead, equivalent performance-optimised
|
||||||
images are available with the `-maxperf` suffix (e.g.
|
images are available with the `-maxperf` suffix (e.g.
|
||||||
`forgejo.ellis.link/continuwuation/continuwuity:latest-maxperf`).
|
`forgejo.ellis.link/continuwuation/continuwuity:latest-maxperf`).
|
||||||
These images use the `release-max-perf`
|
These images use the `release-max-perf` build profile with
|
||||||
build profile with
|
[link-time optimisation (LTO)][lto-rust-docs]
|
||||||
[link-time optimisation (LTO)](https://doc.rust-lang.org/cargo/reference/profiles.html#lto)
|
|
||||||
and, for amd64, target the haswell CPU architecture.
|
and, for amd64, target the haswell CPU architecture.
|
||||||
|
|
||||||
|
[lto-rust-docs]: https://doc.rust-lang.org/cargo/reference/profiles.html#lto
|
||||||
|
|
||||||
### Nix
|
### Nix
|
||||||
|
|
||||||
Theres a Nix package defined in our flake, available for Linux and MacOS. Add continuwuity as an input to your flake, and use `inputs.continuwuity.packages.${system}.default` to get a working Continuwuity package.
|
Theres a Nix package defined in our flake, available for Linux and MacOS. Add continuwuity as an input to your flake, and use `inputs.continuwuity.packages.${system}.default` to get a working Continuwuity package.
|
||||||
@@ -73,6 +79,16 @@ You can build Continuwuity using `cargo build --release`.
|
|||||||
|
|
||||||
Continuwuity supports various optional features that can be enabled during compilation. Please see the Cargo.toml file for a comprehensive list, or ask in our rooms.
|
Continuwuity supports various optional features that can be enabled during compilation. Please see the Cargo.toml file for a comprehensive list, or ask in our rooms.
|
||||||
|
|
||||||
|
#### 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
|
||||||
|
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.
|
||||||
|
|
||||||
## Adding a Continuwuity user
|
## Adding a Continuwuity user
|
||||||
|
|
||||||
While Continuwuity can run as any user, it is better to use dedicated users for
|
While Continuwuity can run as any user, it is better to use dedicated users for
|
||||||
@@ -144,7 +160,9 @@ ReadWritePaths=/path/to/custom/database/path
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
You can also [view the file on Foregejo](https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/pkg/conduwuit.service).
|
You can also [view the file on Foregejo][systemd-file].
|
||||||
|
|
||||||
|
[systemd-file]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/pkg/conduwuit.service
|
||||||
|
|
||||||
## Creating the Continuwuity configuration file
|
## Creating the Continuwuity configuration file
|
||||||
|
|
||||||
@@ -186,7 +204,7 @@ After installing Caddy via your preferred method, create `/etc/caddy/conf.d/cond
|
|||||||
and enter the following (substitute your actual server name):
|
and enter the following (substitute your actual server name):
|
||||||
|
|
||||||
```
|
```
|
||||||
your.server.name, your.server.name:8448 {
|
example.com, example.com:8448 {
|
||||||
# TCP reverse_proxy
|
# TCP reverse_proxy
|
||||||
reverse_proxy 127.0.0.1:6167
|
reverse_proxy 127.0.0.1:6167
|
||||||
# UNIX socket
|
# UNIX socket
|
||||||
@@ -202,8 +220,6 @@ sudo systemctl enable --now caddy
|
|||||||
|
|
||||||
### Other Reverse Proxies
|
### Other Reverse Proxies
|
||||||
|
|
||||||
As we prefer our users to use Caddy, we do not provide configuration files for other proxies.
|
|
||||||
|
|
||||||
You will need to reverse proxy everything under the following routes:
|
You will need to reverse proxy everything under the following routes:
|
||||||
|
|
||||||
- `/_matrix/` - core Matrix C-S and S-S APIs
|
- `/_matrix/` - core Matrix C-S and S-S APIs
|
||||||
@@ -266,16 +282,16 @@ You can open [a Matrix client](https://matrix.org/ecosystem/clients), enter your
|
|||||||
homeserver address, and try to register.
|
homeserver address, and try to register.
|
||||||
|
|
||||||
You can also use these commands as a quick health check (replace
|
You can also use these commands as a quick health check (replace
|
||||||
`your.server.name`).
|
`example.com`).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl https://your.server.name/_conduwuit/server_version
|
curl https://example.com/_conduwuit/server_version
|
||||||
|
|
||||||
# If using port 8448
|
# If using port 8448
|
||||||
curl https://your.server.name:8448/_conduwuit/server_version
|
curl https://example.com:8448/_conduwuit/server_version
|
||||||
|
|
||||||
# If federation is enabled
|
# If federation is enabled
|
||||||
curl https://your.server.name:8448/_matrix/federation/v1/version
|
curl https://example.com:8448/_matrix/federation/v1/version
|
||||||
```
|
```
|
||||||
|
|
||||||
- To check if your server can communicate with other homeservers, use the
|
- To check if your server can communicate with other homeservers, use the
|
||||||
@@ -285,11 +301,7 @@ curl https://your.server.name:8448/_matrix/federation/v1/version
|
|||||||
|
|
||||||
## What's next?
|
## What's next?
|
||||||
|
|
||||||
### Audio/Video calls
|
- For smooth federation, set up a caching resolver according to the [DNS tuning guide](../advanced/dns.mdx)
|
||||||
|
- For Audio/Video call functionality see the [Calls](../calls.md) page.
|
||||||
For Audio/Video call functionality see the [Calls](../calls.md) page.
|
- If you want to set up an appservice, take a look at the [Appservice
|
||||||
|
|
||||||
### Appservices
|
|
||||||
|
|
||||||
If you want to set up an appservice, take a look at the [Appservice
|
|
||||||
Guide](../appservices.md).
|
Guide](../appservices.md).
|
||||||
|
|||||||
Reference in New Issue
Block a user