Switch to mdbook

Signed-off-by: Jonas Zohren <git-pbkyr@jzohren.de>
This commit is contained in:
Jonas Zohren 2021-08-19 16:44:29 +02:00
parent 5547c0f579
commit d0e06b49da
11 changed files with 77 additions and 45 deletions

View file

@ -339,17 +339,23 @@ publish:package:
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file conduit-x86_64-unknown-linux-gnu.deb "${BASE_URL}/conduit-x86_64-unknown-linux-gnu.deb"'
pages:
stage: "publish"
image:
name: "squidfunk/mkdocs-material"
entrypoint: [""]
tags: ["docker"]
needs: []
stage: publish
image: rust
variables:
CARGO_HOME: $CI_PROJECT_DIR/cargo
before_script:
- export PATH="$PATH:$CARGO_HOME/bin"
- mdbook --version || cargo install mdbook
script:
- mdbook build -d public
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
script:
- "mkdocs build --site-dir public"
artifacts:
paths:
- "public"
- public
cache:
key: mdbook_cache
paths:
- $CARGO_HOME/bin

16
book.toml Normal file
View file

@ -0,0 +1,16 @@
[book]
title = "Conduit Docs"
author = "The Conduit contributors"
description = "Conduit is a simple, fast and reliable chat server for the Matrix protocol"
language = "en"
src = "docs"
[rust]
edition = "2018"
[build]
build-dir = "public"
create-missing = true
[output.html.search]
limit-results = 15

16
docs/SUMMARY.md Normal file
View file

@ -0,0 +1,16 @@
# Summary
[Home](index.md)
- [Installation](installation.md)
- [Prerequisites](installation/prerequisites.md)
- [From Binaries](installation/manual.md)
- [From Packages](installation/packages.md)
- [With Docker](installation/docker.md)
- [Configuration](configuration.md)
- [Config options](configuration/configuration.md)
- [Appservices](configuration/appservices.md)
- [Contribute](contribute.md)
- [Basics](development/basics.md)
- [Cross compilation](development/cross-compilation.md)
- [Tests & CI](development/tests-ci.md)

1
docs/configuration.md Normal file
View file

@ -0,0 +1 @@
# Configuration

View file

@ -7,21 +7,28 @@ You absolutely need to set the environment variable `CONDUIT_CONFIG_FILE` to eit
e.g. `CONDUIT_CONFIG_FILE=/etc/conduit/Conduit.toml`) or to an empty string (`CONDUIT_CONFIG_FILE=''`) if you want to
configure Conduit with just environment variables.
## Mandatory config options
Mandatory variables must be configured in order for Conduit to run properly.
| Key in Conduit.toml | Environment variable | Default value | Mandatory | Description |
| ---------------------- | ---------------------------- | ------------- | --------- | ----------- |
| `server_name` | `CONDUIT_SERVER_NAME` | | yes | The server_name is the name of this server. It is used as a suffix for user and room ids. Examples: matrix.org, conduit.rs. The Conduit server needs to be reachable at https://your.server.name/ on port 443 (client-server) and 8448 (server-server) OR you can create /.well-known files to redirect requests. See [Client-Server specs](https://matrix.org/docs/spec/client_server/latest#get-well-known-matrix-client) and [Server-Server specs](https://matrix.org/docs/spec/server_server/r0.1.4#get-well-known-matrix-server) for more information. |
| `database_path` | `CONDUIT_DATABASE_PATH` | `/var/lib/conduit/` | yes | A directory Conduit where Conduit stores its database and media files. This directory must exist and be writable before Conduit is started. |
| `port` | `CONDUIT_PORT` | `6167` | yes | The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port. |
| `max_request_size` | `CONDUIT_MAX_REQUEST_SIZE` | `20_000_000` | no | The maximum size in bytes for uploads (files sent from users on this Conduit server). Uploads will be stored in the database path, so make sure that it has sufficient free space. |
| `allow_registration` | `CONDUIT_ALLOW_REGISTRATION` | `true` | no | Are new users allowed to register accounts on their own? Possible values: `true`, `false`. |
| `allow_encryption` | `CONDUIT_ALLOW_ENCRYPTION` | `true` | no | Controls whether encrypted rooms can be created or not. Possible values: `true`, `false`. |
| `allow_federation` | `CONDUIT_ALLOW_FEDERATION` | `false` | no | Federation enables users on your Conduit server to talk to other Matrix users on different Matrix servers. If federation is turned off, only users on your Conduit server can talk to each other. Possible values: `true`, `false`. |
| `allow_jaeger` | `CONDUIT_ALLOW_JAEGER` | `false` | no | Enable jaeger to support monitoring and troubleshooting through jaeger. Possible values: `true`, `false`. |
| `trusted_servers` | `CONDUIT_TRUSTED_SERVERS` | `[]` | no | List of servers, which Conduit trusts enough to ask them for public keys of other, newly found servers. E.g. to trust the matrix.org server, set this value to `["matrix.org"]`. |
| `max_concurrent_requests` | `CONDUIT_MAX_CONCURRENT_REQUESTS` | `100` | no | How many requests Conduit sends to other servers at the same time. |
| `log` | `CONDUIT_LOG` | `info,state_res=warn,rocket=off,_=off,sled=off` | no | Configures which kind of messages Conduit logs. |
| `workers` | `CONDUIT_WORKERS` | cpu core count * 2 | no | How many worker processes are used.
| `address` | `CONDUIT_ADDRESS` | `127.0.0.1` | no | Which IP address conduit is listening on. 127.0.0.1 means that Conduit can only be accessed from the same server or through a reverse proxy on that server.
| `db_cache_capacity_mb` | `CONDUIT_DB_CACHE_CAPACITY_MB` | `200` | no | The total amount of memory that the database will use. (this needs clearification: In RAM or on disk and for what exactly?)
| Key in Conduit.toml | Environment variable | Default value | Description |
|---------------------|-------------------------|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `server_name` | `CONDUIT_SERVER_NAME` | | The server_name is the name of this server. It is used as a suffix for user and room ids. Examples: matrix.org, conduit.rs. The Conduit server needs to be reachable at https://your.server.name/ on port 443 (client-server) and 8448 (server-server) OR you can create /.well-known files to redirect requests. See [Client-Server specs](https://matrix.org/docs/spec/client_server/latest#get-well-known-matrix-client) and [Server-Server specs](https://matrix.org/docs/spec/server_server/r0.1.4#get-well-known-matrix-server) for more information. |
| `database_path` | `CONDUIT_DATABASE_PATH` | `/var/lib/conduit/` | A directory Conduit where Conduit stores its database and media files. This directory must exist and be writable before Conduit is started. |
| `port` | `CONDUIT_PORT` | `6167` | The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port. |
## Optional config options
| Key in Conduit.toml | Environment variable | Default value | Description |
|---------------------------|-----------------------------------|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `max_request_size` | `CONDUIT_MAX_REQUEST_SIZE` | `20_000_000` | The maximum size in bytes for uploads (files sent from users on this Conduit server). Uploads will be stored in the database path, so make sure that it has sufficient free space. |
| `allow_registration` | `CONDUIT_ALLOW_REGISTRATION` | `true` | Are new users allowed to register accounts on their own? Possible values: `true`, `false`. |
| `allow_encryption` | `CONDUIT_ALLOW_ENCRYPTION` | `true` | Controls whether encrypted rooms can be created or not. Possible values: `true`, `false`. |
| `allow_federation` | `CONDUIT_ALLOW_FEDERATION` | `false` | Federation enables users on your Conduit server to talk to other Matrix users on different Matrix servers. If federation is turned off, only users on your Conduit server can talk to each other. Possible values: `true`, `false`. |
| `allow_jaeger` | `CONDUIT_ALLOW_JAEGER` | `false` | Enable jaeger to support monitoring and troubleshooting through jaeger. Possible values: `true`, `false`. |
| `trusted_servers` | `CONDUIT_TRUSTED_SERVERS` | `[]` | List of servers, which Conduit trusts enough to ask them for public keys of other, newly found servers. E.g. to trust the matrix.org server, set this value to `["matrix.org"]`. |
| `max_concurrent_requests` | `CONDUIT_MAX_CONCURRENT_REQUESTS` | `100` | How many requests Conduit sends to other servers at the same time. |
| `log` | `CONDUIT_LOG` | `info,state_res=warn,rocket=off,_=off,sled=off` | Configures which kind of messages Conduit logs. |
| `workers` | `CONDUIT_WORKERS` | cpu core count * 2 | How many worker processes are used. |
| `address` | `CONDUIT_ADDRESS` | `127.0.0.1` | Which IP address conduit is listening on. 127.0.0.1 means that Conduit can only be accessed from the same server or through a reverse proxy on that server. |
| `db_cache_capacity_mb` | `CONDUIT_DB_CACHE_CAPACITY_MB` | `200` | The total amount of memory that the database will use. (this needs clearification: In RAM or on disk and for what exactly?) |

1
docs/contribute.md Normal file
View file

@ -0,0 +1 @@
# Contribute

View file

@ -0,0 +1 @@
# Basics

View file

@ -0,0 +1 @@
# Tests & CI

1
docs/installation.md Normal file
View file

@ -0,0 +1 @@
# Installation

View file

@ -0,0 +1,2 @@
:::warning Test
:::

View file

@ -1,20 +0,0 @@
site_name: Conduit Docs
site_description: Conduit is a simple, fast and reliable chat server for the Matrix protocol
theme:
name: material
repo_url: https://gitlab.com/famedly/conduit
nav:
- Home: index.md
- Installation:
- Prerequisites: installation/prerequisites.md
- Distribution Packages: installation/packages.md
- Manual: installation/manual.md
- Docker: installation/docker.md
- Configuration:
- Config options: configuration/configuration.md
- Appservices: configuration/appservices.md
- Development:
- Basics: development/basics.md
- Cross compilation: development/cross-compilation.md
- Tests & CI: development/tests-ci.md