docs: more improvements, fixes, cleanup, etc

Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
strawberry 2024-06-16 21:30:51 -04:00
parent aa963c61da
commit f40a3ea4a6
13 changed files with 49 additions and 46 deletions

View file

@ -18,7 +18,7 @@ First, go into the `#admins` room of your homeserver. The first person that
registered on the homeserver automatically joins it. Then send a message into registered on the homeserver automatically joins it. Then send a message into
the room like this: the room like this:
@conduit:your.server.name: register-appservice !admin appservices register
``` ```
paste paste
the the
@ -33,7 +33,7 @@ the room like this:
You can confirm it worked by sending a message like this: You can confirm it worked by sending a message like this:
`!admin appservices list` `!admin appservices list`
The `@conduit` bot should answer with `Appservices (1): your-bridge` The server bot should answer with `Appservices (1): your-bridge`
Then you are done. conduwuit will send messages to the appservices and the Then you are done. conduwuit will send messages to the appservices and the
appservice can send requests to the homeserver. You don't need to restart appservice can send requests to the homeserver. You don't need to restart

View file

@ -1,6 +1,6 @@
# Conduwuit Community Code of Conduct # conduwuit Community Code of Conduct
Welcome to the conduwuit community! Were excited to have you here. Conduwuit is a hard-fork of the Conduit homeserver, Welcome to the conduwuit community! Were excited to have you here. conduwuit is a hard-fork of the Conduit homeserver,
aimed at making Matrix more accessible and inclusive for everyone. aimed at making Matrix more accessible and inclusive for everyone.
This space is dedicated to fostering a positive, supportive, and inclusive environment for everyone. This Code of This space is dedicated to fostering a positive, supportive, and inclusive environment for everyone. This Code of
@ -39,7 +39,7 @@ additional guidelines specific to the conduwuit community.
## Matrix Community ## Matrix Community
This Code of Conduct applies to the entire [Conduwuit Matrix Space](https://matrix.to/#/#conduwuit-space:puppygock.gay) This Code of Conduct applies to the entire [conduwuit Matrix Space](https://matrix.to/#/#conduwuit-space:puppygock.gay)
and its rooms, including: and its rooms, including:
### [#conduwuit:puppygock.gay](https://matrix.to/#/#conduwuit:puppygock.gay) ### [#conduwuit:puppygock.gay](https://matrix.to/#/#conduwuit:puppygock.gay)
@ -74,4 +74,4 @@ a DM to one of the moderators directly.
Together, lets build a community where everyone feels valued and respected. Together, lets build a community where everyone feels valued and respected.
- The Conduwuit Moderation Team - The conduwuit Moderation Team

View file

@ -1,11 +1,32 @@
# Example configuration ## Example configuration
``` toml <details>
<summary>Example configuration</summary>
```toml
{{#include ../conduwuit-example.toml}} {{#include ../conduwuit-example.toml}}
``` ```
# Example systemd unit file </details>
## Debian systemd unit file
<details>
<summary>Debian systemd unit file</summary>
``` ```
{{#include ../debian/conduwuit.service}} {{#include ../debian/conduwuit.service}}
``` ```
</details>
## Arch Linux systemd unit file
<details>
<summary>Arch Linux systemd unit file</summary>
```
{{#include ../arch/conduwuit.service}}
```
</details>

View file

@ -1,3 +1,3 @@
# Deploying # Deploying
This chapter describes various ways to deploy Conduwuit. This chapter describes various ways to deploy conduwuit.

View file

@ -4,7 +4,6 @@
To run conduwuit with Docker you can either build the image yourself or pull it from a registry. To run conduwuit with Docker you can either build the image yourself or pull it from a registry.
### Use a registry ### Use a registry
OCI images for conduwuit are available in the registries listed below. OCI images for conduwuit are available in the registries listed below.
@ -24,14 +23,12 @@ OCI images for conduwuit are available in the registries listed below.
[shield-latest]: https://img.shields.io/docker/image-size/girlbossceo/conduwuit/latest [shield-latest]: https://img.shields.io/docker/image-size/girlbossceo/conduwuit/latest
[shield-main]: https://img.shields.io/docker/image-size/girlbossceo/conduwuit/main [shield-main]: https://img.shields.io/docker/image-size/girlbossceo/conduwuit/main
Use Use
```bash ```bash
docker image pull <link> docker image pull <link>
``` ```
to pull it to your machine. to pull it to your machine.
### Run ### Run
When you have the image you can simply run it with When you have the image you can simply run it with
@ -39,13 +36,9 @@ When you have the image you can simply run it with
```bash ```bash
docker run -d -p 8448:6167 \ docker run -d -p 8448:6167 \
-v db:/var/lib/conduwuit/ \ -v db:/var/lib/conduwuit/ \
-e CONDUIT_SERVER_NAME="your.server.name" \ -e CONDUWUIT_SERVER_NAME="your.server.name" \
-e CONDUIT_DATABASE_BACKEND="rocksdb" \ -e CONDUWUIT_DATABASE_BACKEND="rocksdb" \
-e CONDUIT_ALLOW_REGISTRATION=false \ -e CONDUWUIT_ALLOW_REGISTRATION=false \
-e CONDUIT_ALLOW_FEDERATION=true \
-e CONDUIT_MAX_REQUEST_SIZE="40000000" \
-e CONDUIT_TRUSTED_SERVERS="[\"matrix.org\"]" \
-e CONDUIT_LOG="warn,ruma_state_res=warn" \
--name conduit <link> --name conduit <link>
``` ```

View file

@ -114,7 +114,7 @@ $ sudo systemctl enable conduwuit
You can open [a Matrix client](https://matrix.org/ecosystem/clients), enter your homeserver and try to register. You can open [a Matrix client](https://matrix.org/ecosystem/clients), enter your homeserver and try to register.
You can also use these commands as a quick health check. You can also use these commands as a quick health check (replace `your.server.name`).
```bash ```bash
$ curl https://your.server.name/_conduwuit/server_version $ curl https://your.server.name/_conduwuit/server_version

View file

@ -30,7 +30,7 @@ The `flake.nix` and `default.nix` do not (currently) provide a NixOS module, so
(for now) [`services.matrix-conduit`][module] from Nixpkgs should be used to (for now) [`services.matrix-conduit`][module] from Nixpkgs should be used to
configure conduwuit. configure conduwuit.
If you want to run the latest code, you should get Conduwuit from the `flake.nix` If you want to run the latest code, you should get conduwuit from the `flake.nix`
or `default.nix` and set [`services.matrix-conduit.package`][package] or `default.nix` and set [`services.matrix-conduit.package`][package]
appropriately. appropriately.

View file

@ -7,7 +7,7 @@ it, you can safely ignore this section. If you plan on contributing, see the
## Debugging with `tokio-console` ## Debugging with `tokio-console`
[`tokio-console`][1] can be a useful tool for debugging and profiling. To make [`tokio-console`][1] can be a useful tool for debugging and profiling. To make
a `tokio-console`-enabled build of Conduwuit, enable the `tokio_console` feature, a `tokio-console`-enabled build of conduwuit, enable the `tokio_console` feature,
disable the default `release_max_log_level` feature, and set the disable the default `release_max_log_level` feature, and set the
`--cfg tokio_unstable` flag to enable experimental tokio APIs. A build might `--cfg tokio_unstable` flag to enable experimental tokio APIs. A build might
look like this: look like this:
@ -16,7 +16,7 @@ look like this:
RUSTFLAGS="--cfg tokio_unstable" cargo build \ RUSTFLAGS="--cfg tokio_unstable" cargo build \
--release \ --release \
--no-default-features \ --no-default-features \
--features=rocksdb,systemd,element_hacks,sentry_telemetry,gzip_compression,brotli_compression,zstd_compression,tokio_console --features=rocksdb,systemd,element_hacks,gzip_compression,brotli_compression,zstd_compression,tokio_console
``` ```
[1]: https://docs.rs/tokio-console/latest/tokio_console/ [1]: https://docs.rs/tokio-console/latest/tokio_console/

View file

@ -1,4 +1,4 @@
# Conduwuit # conduwuit
{{#include ../README.md:catchphrase}} {{#include ../README.md:catchphrase}}
@ -12,7 +12,7 @@ See the [differences](differences.md) page
- [Deployment options](deploying.md) - [Deployment options](deploying.md)
If you want to connect an Appservice to Conduwuit, take a look at the [appservices documentation](appservices.md). If you want to connect an appservice to conduwuit, take a look at the [appservices documentation](appservices.md).
#### How can I contribute? #### How can I contribute?

View file

@ -41,7 +41,7 @@ To restore a backup from an online RocksDB backup:
- create a new directory for merging together the data - create a new directory for merging together the data
- in the online backup created, copy all `.sst` files in `$DATABASE_BACKUP_PATH/shared_checksum` to your new directory - in the online backup created, copy all `.sst` files in `$DATABASE_BACKUP_PATH/shared_checksum` to your new directory
- trim all the strings so instead of `######_sxxxxxxxxx.sst`, it reads `######.sst`. A way of doing this with sed and bash is `for file in *.sst; do mv "$file" "$(echo "$file" | sed 's/_s.*/.sst/')"; done` - trim all the strings so instead of `######_sxxxxxxxxx.sst`, it reads `######.sst`. A way of doing this with sed and bash is `for file in *.sst; do mv "$file" "$(echo "$file" | sed 's/_s.*/.sst/')"; done`
- copy all the files in `$DATABASE_BACKUP_PATH/1` to your new directory - copy all the files in `$DATABASE_BACKUP_PATH/1` (or the latest backup number if you have multiple) to your new directory
- set your `database_path` config option to your new directory, or replace your old one with the new one you crafted - set your `database_path` config option to your new directory, or replace your old one with the new one you crafted
- start up conduwuit again and it should open as normal - start up conduwuit again and it should open as normal
@ -52,12 +52,12 @@ Backing up media is also just copying the `media/` directory from your database
## Media ## Media
Media still needs various work, however conduwuit implements media deletion via: Media still needs various work, however conduwuit implements media deletion via:
- MXC URI - MXC URI or Event ID (unencrypted and attempts to find the MXC URI in the event)
- Delete list of MXC URIs - Delete list of MXC URIs
- Delete remote media in the past `N` seconds/minutes - Delete remote media in the past `N` seconds/minutes via filesystem metadata on the file created time (`btime`) or file modified time (`mtime`)
See the `!admin media` command for further information. All media in conduwuit is stored at `$DATABASE_DIR/media`. This will be configurable soon. See the `!admin media` command for further information. All media in conduwuit is stored at `$DATABASE_DIR/media`. This will be configurable soon.
If you are finding yourself needing extensive granular control over media, we recommend looking into [Matrix Media Repo](https://github.com/t2bot/matrix-media-repo). conduwuit intends to implement various utilities for media, but MMR is dedicated to extensive media management. If you are finding yourself needing extensive granular control over media, we recommend looking into [Matrix Media Repo](https://github.com/t2bot/matrix-media-repo). conduwuit intends to implement various utilities for media, but MMR is dedicated to extensive media management.
Built-in S3 support is also planned, but for now using a "S3 filesystem" on `media/` works. conduwuit also sends a `Cache-Control` header of 1 year and immutable for all media requests (download and thumbnail) to reduce unnecessary media requests from browsers. Built-in S3 support is also planned, but for now using a "S3 filesystem" on `media/` works. conduwuit also sends a `Cache-Control` header of 1 year and immutable for all media requests (download and thumbnail) to reduce unnecessary media requests from browsers, reduce bandwidth usage, and reduce load.

View file

@ -16,7 +16,9 @@ Some filesystems may not like RocksDB using [Direct IO](https://github.com/faceb
#### Database corruption #### Database corruption
If your database is corrupted and is failing to start (e.g. checksum mismatch), it may be recoverable but careful steps must be taken, and there is no guarantee it may be recoverable. If your database is corrupted *and* is failing to start (e.g. checksum mismatch), it may be recoverable but careful steps must be taken, and there is no guarantee it may be recoverable.
The first thing that can be done is launching conduwuit with the `rocksdb_repair` config option set to true. This will tell RocksDB to attempt to repair itself at launch. If this does not work, disable the option and continue reading.
RocksDB has the following recovery modes: RocksDB has the following recovery modes:

View file

@ -13,21 +13,7 @@ realm=<your server domain>
``` ```
A common way to generate a suitable alphanumeric secret key is by using `pwgen -s 64 1`. A common way to generate a suitable alphanumeric secret key is by using `pwgen -s 64 1`.
These same values need to be set in conduwuit. You can either modify conduwuit.toml to include these lines: These same values need to be set in conduwuit. See the [example config](configuration.md) in the TURN section for configuring these and restart conduwuit after.
```
turn_uris = ["turn:<your server domain>?transport=udp", "turn:<your server domain>?transport=tcp"]
turn_secret = "<secret key from coturn configuration>"
```
or append the following to the docker environment variables dependig on which configuration method you used earlier:
```yml
CONDUIT_TURN_URIS: '["turn:<your server domain>?transport=udp", "turn:<your server domain>?transport=tcp"]'
CONDUIT_TURN_SECRET: "<secret key from coturn configuration>"
```
Restart conduwuit to apply these changes.
### Run ### Run
Run the [Coturn](https://hub.docker.com/r/coturn/coturn) image using Run the [Coturn](https://hub.docker.com/r/coturn/coturn) image using

View file

@ -18,6 +18,7 @@ stdenv.mkDerivation {
"README.md" "README.md"
"debian/conduwuit.service" "debian/conduwuit.service"
"debian/README.md" "debian/README.md"
"arch/conduwuit.service"
"docs" "docs"
"theme" "theme"
]; ];