mirror of https://gitlab.com/famedly/conduit
Compare commits
64 Commits
eb1d0bb8e6
...
3440fac2cd
Author | SHA1 | Date |
---|---|---|
Matthias Ahouansou | 3440fac2cd | 2 weeks ago |
Matthias Ahouansou | 7ae6974bfd | 2 weeks ago |
Matthias Ahouansou | bd5d9a7560 | 2 weeks ago |
Matthias Ahouansou | 14ede9898d | 2 weeks ago |
Matthias Ahouansou | 0220e9e9d1 | 2 weeks ago |
Matthias Ahouansou | f62db723f7 | 2 weeks ago |
Matthias Ahouansou | a499c80d1b | 2 weeks ago |
Matthias Ahouansou | 5760d98192 | 2 weeks ago |
Matthias Ahouansou | 2d3f64c1e5 | 2 weeks ago |
Ossi Herrala | aff97e4032 | 2 weeks ago |
Ossi Herrala | a56139549f | 2 weeks ago |
Ossi Herrala | 3b6928ebcf | 2 weeks ago |
Ossi Herrala | 61cd2892b8 | 2 weeks ago |
Timo Kösters | acef61a3cc | 2 weeks ago |
Timo Kösters | c6a7563126 | 2 weeks ago |
Timo Kösters | 779cebcd77 | 2 weeks ago |
Timo Kösters | 3b3466fd51 | 2 weeks ago |
Timo Kösters | 414056442a | 2 weeks ago |
Timo Kösters | 7c83372336 | 2 weeks ago |
Timo Kösters | a854a46c24 | 2 weeks ago |
Timo Kösters | 429f80548f | 2 weeks ago |
Timo Kösters | a140bf8a6f | 2 weeks ago |
Matthias Ahouansou | 74db555336 | 2 weeks ago |
Timo Kösters | 08636ef236 | 2 weeks ago |
Matthias Ahouansou | 3086271139 | 2 weeks ago |
Matthias Ahouansou | e40aed3a7d | 2 weeks ago |
Paul van Tilburg | 0c0c9549b9 | 2 weeks ago |
Timo Kösters | 53d3f9ae89 | 2 weeks ago |
Timo Kösters | 7ace9b0dff | 2 weeks ago |
Timo Kösters | 624654a88b | 2 weeks ago |
Timo Kösters | 461236f3fb | 2 weeks ago |
Matthias Ahouansou | 1c4ae8d268 | 2 weeks ago |
Valentin Lorentz | 89c1c2109c | 2 weeks ago |
Matthias Ahouansou | 1bae8b35a9 | 3 weeks ago |
Matthias Ahouansou | 00d6aeddb6 | 3 weeks ago |
Matthias Ahouansou | 18f93ae8f3 | 3 weeks ago |
Matthias Ahouansou | 6c9c1b5afe | 3 weeks ago |
Charles Hall | 27753b1d96 | 3 weeks ago |
Charles Hall | 61cb186b5b | 3 weeks ago |
Charles Hall | 8c6ffb6bfc | 3 weeks ago |
Awiteb | 2656f6f435 | 3 weeks ago |
Awiteb | b48e1300f2 | 3 weeks ago |
Valentin Lorentz | 2d8c551cd5 | 3 weeks ago |
Valentin Lorentz | eb6801290b | 3 weeks ago |
Matthias Ahouansou | 7a7c09785e | 3 weeks ago |
Matthias Ahouansou | 92817213d5 | 4 weeks ago |
Matthias Ahouansou | ab8592526f | 4 weeks ago |
Val Lorentz | b5e21f761b | 4 weeks ago |
Matthias Ahouansou | 9e6ce8326f | 4 weeks ago |
Matthias Ahouansou | e88d137bd7 | 4 weeks ago |
Matthias Ahouansou | 2c73c3adbb | 1 month ago |
Matthias Ahouansou | 9497713a79 | 1 month ago |
Matthias Ahouansou | fb4217486f | 1 month ago |
Timo Kösters | 1fb5bcf98f | 2 months ago |
lafleur | 34e0e710cb | 2 months ago |
Val Lorentz | 8175bc1246 | 5 months ago |
Val Lorentz | eb7ac91cd5 | 5 months ago |
Val Lorentz | 5a7bb1e8f1 | 5 months ago |
Val Lorentz | 520806d413 | 5 months ago |
Val Lorentz | 9646439a94 | 5 months ago |
Val Lorentz | fac995036a | 5 months ago |
Val Lorentz | 18bfd79ef2 | 5 months ago |
Val Lorentz | a3b8eea9b4 | 5 months ago |
Val Lorentz | d39d30008a | 5 months ago |
@ -1,5 +1,110 @@
|
||||
# Example configuration
|
||||
# Configuration
|
||||
|
||||
``` toml
|
||||
{{#include ../conduit-example.toml}}
|
||||
**Conduit** is configured using a TOML file. The configuration file is loaded from the path specified by the `CONDUIT_CONFIG` environment variable.
|
||||
|
||||
> **Note:** The configuration file is required to run Conduit. If the `CONDUIT_CONFIG` environment variable is not set, Conduit will exit with an error.
|
||||
|
||||
> **Note:** If you update the configuration file, you must restart Conduit for the changes to take effect
|
||||
|
||||
Conduit's configuration file is divided into the following sections:
|
||||
|
||||
- [Global](#global)
|
||||
- [TLS](#tls)
|
||||
- [Proxy](#proxy)
|
||||
|
||||
|
||||
## Global
|
||||
|
||||
The `global` section contains the following fields:
|
||||
|
||||
> **Note:** The `*` symbol indicates that the field is required, and the values in **parentheses** are the possible values
|
||||
|
||||
| Field | Type | Description | Default |
|
||||
| --- | --- | --- | --- |
|
||||
| `address` | `string` | The address to bind to | `"127.0.0.1"` |
|
||||
| `port` | `integer` | The port to bind to | `8000` |
|
||||
| `tls` | `table` | See the [TLS configuration](#tls) | N/A |
|
||||
| `server_name`_*_ | `string` | The server name | N/A |
|
||||
| `database_backend`_*_ | `string` | The database backend to use (`"rocksdb"` *recommended*, `"sqlite"`) | N/A |
|
||||
| `database_path`_*_ | `string` | The path to the database file/dir | N/A |
|
||||
| `db_cache_capacity_mb` | `float` | The cache capacity, in MB | `300.0` |
|
||||
| `enable_lightning_bolt` | `boolean` | Add `⚡️` emoji to end of user's display name | `true` |
|
||||
| `allow_check_for_updates` | `boolean` | Allow Conduit to check for updates | `true` |
|
||||
| `conduit_cache_capacity_modifier` | `float` | The value to multiply the default cache capacity by | `1.0` |
|
||||
| `rocksdb_max_open_files` | `integer` | The maximum number of open files | `1000` |
|
||||
| `pdu_cache_capacity` | `integer` | The maximum number of Persisted Data Units (PDUs) to cache | `150000` |
|
||||
| `cleanup_second_interval` | `integer` | How often conduit should clean up the database, in seconds | `60` |
|
||||
| `max_request_size` | `integer` | The maximum request size, in bytes | `20971520` (20 MiB) |
|
||||
| `max_concurrent_requests` | `integer` | The maximum number of concurrent requests | `100` |
|
||||
| `max_fetch_prev_events` | `integer` | The maximum number of previous events to fetch per request if conduit notices events are missing | `100` |
|
||||
| `allow_registration` | `boolean` | Opens your homeserver to public registration | `false` |
|
||||
| `registration_token` | `string` | The token users need to have when registering to your homeserver | N/A |
|
||||
| `allow_encryption` | `boolean` | Allow users to enable encryption in their rooms | `true` |
|
||||
| `allow_federation` | `boolean` | Allow federation with other servers | `true` |
|
||||
| `allow_room_creation` | `boolean` | Allow users to create rooms | `true` |
|
||||
| `allow_unstable_room_versions` | `boolean` | Allow users to create and join rooms with unstable versions | `true` |
|
||||
| `default_room_version` | `string` | The default room version (`"6"`-`"10"`)| `"10"` |
|
||||
| `allow_jaeger` | `boolean` | Allow Jaeger tracing | `false` |
|
||||
| `tracing_flame` | `boolean` | Enable flame tracing | `false` |
|
||||
| `proxy` | `table` | See the [Proxy configuration](#proxy) | N/A |
|
||||
| `jwt_secret` | `string` | The secret used in the JWT to enable JWT login without it a 400 error will be returned | N/A |
|
||||
| `trusted_servers` | `array` | The list of trusted servers to gather public keys of offline servers | `["matrix.org"]` |
|
||||
| `log` | `string` | The log verbosity to use | `"warn"` |
|
||||
| `turn_username` | `string` | The TURN username | `""` |
|
||||
| `turn_password` | `string` | The TURN password | `""` |
|
||||
| `turn_uris` | `array` | The TURN URIs | `[]` |
|
||||
| `turn_secret` | `string` | The TURN secret | `""` |
|
||||
| `turn_ttl` | `integer` | The TURN TTL in seconds | `86400` |
|
||||
| `emergency_password` | `string` | Set a password to login as the `conduit` user in case of emergency | N/A |
|
||||
|
||||
|
||||
### TLS
|
||||
The `tls` table contains the following fields:
|
||||
- `certs`: The path to the public PEM certificate
|
||||
- `key`: The path to the PEM private key
|
||||
|
||||
#### Example
|
||||
```toml
|
||||
[global.tls]
|
||||
certs = "/path/to/cert.pem"
|
||||
key = "/path/to/key.pem"
|
||||
```
|
||||
|
||||
|
||||
### Proxy
|
||||
You can choose what requests conduit should proxy (if any). The `proxy` table contains the following fields
|
||||
|
||||
#### Global
|
||||
The global option will proxy all outgoing requests. The `global` table contains the following fields:
|
||||
- `url`: The URL of the proxy server
|
||||
##### Example
|
||||
```toml
|
||||
[global.proxy.global]
|
||||
url = "https://example.com"
|
||||
```
|
||||
|
||||
#### By domain
|
||||
An array of tables that contain the following fields:
|
||||
- `url`: The URL of the proxy server
|
||||
- `include`: Domains that should be proxied (assumed to be `["*"]` if unset)
|
||||
- `exclude`: Domains that should not be proxied (takes precedent over `include`)
|
||||
|
||||
Both `include` and `exclude` allow for glob pattern matching.
|
||||
##### Example
|
||||
In this example, all requests to domains ending in `.onion` and `matrix.secretly-an-onion-domain.xyz`
|
||||
will be proxied via `socks://localhost:9050`, except for domains ending in `.myspecial.onion`. You can add as many `by_domain` tables as you need.
|
||||
```toml
|
||||
[[global.proxy.by_domain]]
|
||||
url = "socks5://localhost:9050"
|
||||
include = ["*.onion", "matrix.secretly-an-onion-domain.xyz"]
|
||||
exclude = ["*.clearnet.onion"]
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
> **Note:** The following example is a minimal configuration file. You should replace the values with your own.
|
||||
|
||||
```toml
|
||||
[global]
|
||||
{{#include ../conduit-example.toml:22:}}
|
||||
```
|
||||
|
@ -0,0 +1,25 @@
|
||||
# FAQ
|
||||
|
||||
Here are some of the most frequently asked questions about Conduit, and their answers.
|
||||
|
||||
## Why do I get a `M_INCOMPATIBLE_ROOM_VERSION` error when trying to join some rooms?
|
||||
|
||||
Conduit doesn't support room versions 1 and 2 at all, and doesn't properly support versions 3-5 currently. You can track the progress of adding support [here](https://gitlab.com/famedly/conduit/-/issues/433).
|
||||
|
||||
## How do I setup sliding sync?
|
||||
|
||||
You need to add a `org.matrix.msc3575.proxy` field to your `.well-known/matrix/client` response which points to Conduit. Here is an example:
|
||||
```json
|
||||
{
|
||||
"m.homeserver": {
|
||||
"base_url": "https://matrix.example.org"
|
||||
},
|
||||
"org.matrix.msc3575.proxy": {
|
||||
"url": "https://matrix.example.org"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Can I migrate from Synapse to Conduit?
|
||||
|
||||
Not really. You can reuse the domain of your current server with Conduit, but you have to leave all federated rooms first.
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue