More updates and permalinks

This commit is contained in:
Neil Alexander 2022-05-11 12:03:19 +01:00
parent dd1b381789
commit c546a7e88b
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
13 changed files with 18 additions and 96 deletions

View file

@ -2,100 +2,9 @@
title: Installation
has_children: true
nav_order: 2
permalink: /installation
---
# Installation
## Starting a polylith deployment
The following contains scripts which will run all the required processes in order to point a Matrix client at Dendrite.
### nginx (or other reverse proxy)
This is what your clients and federated hosts will talk to. It must forward
requests onto the correct API server based on URL:
* `/_matrix/client` to the client API server
* `/_matrix/federation` to the federation API server
* `/_matrix/key` to the federation API server
* `/_matrix/media` to the media API server
See `docs/nginx/polylith-sample.conf` for a sample configuration.
### Client API server
This is what implements CS API endpoints. Clients talk to this via the proxy in
order to send messages, create and join rooms, etc.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml clientapi
```
### Sync server
This is what implements `/sync` requests. Clients talk to this via the proxy
in order to receive messages.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml syncapi
```
### Media server
This implements `/media` requests. Clients talk to this via the proxy in
order to upload and retrieve media.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml mediaapi
```
### Federation API server
This implements the federation API. Servers talk to this via the proxy in
order to send transactions. This is only required if you want to support
federation.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml federationapi
```
### Internal components
This refers to components that are not directly spoken to by clients. They are only
contacted by other components. This includes the following components.
#### Room server
This is what implements the room DAG. Clients do not talk to this.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml roomserver
```
#### Appservice server
This sends events from the network to [application
services](https://matrix.org/docs/spec/application_service/unstable.html)
running locally. This is only required if you want to support running
application services on your homeserver.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml appservice
```
#### Key server
This manages end-to-end encryption keys for users.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml keyserver
```
#### User server
This manages user accounts, device access tokens and user account data,
amongst other things.
```bash
./bin/dendrite-polylith-multi --config=dendrite.yaml userapi
```
This section contains documentation on installing a new Dendrite deployment.

View file

@ -1,6 +1,7 @@
---
title: Profiling
parent: Development
permalink: /development/profiling
---
# Profiling Dendrite

View file

@ -2,8 +2,9 @@
title: Administration
has_children: yes
nav_order: 4
permalink: /administration
---
# Administration
Section on managing your Dendrite server.
This section contains documentation on managing your existing Dendrite deployment.

View file

@ -1,6 +1,7 @@
---
title: Code Style
parent: Development
permalink: /development/codestyle
---
# Code Style

View file

@ -1,8 +1,10 @@
---
title: Development
has_children: true
permalink: /development
---
# Development
The documents in this section will be useful when developing against Dendrite.
This section contains documentation that may be useful when helping to develop
Dendrite.

View file

@ -2,6 +2,7 @@
title: Planning your installation
parent: Installation
nav_order: 1
permalink: /installation/planning
---
# Planning your installation

View file

@ -2,6 +2,7 @@
title: Setting up the domain
parent: Installation
nav_order: 2
permalink: /installation/domainname
---
# Setting up the domain

View file

@ -2,6 +2,7 @@
title: Preparing database storage
parent: Installation
nav_order: 3
permalink: /installation/database
---
# Preparing database storage

View file

@ -2,6 +2,7 @@
title: Generating signing keys
parent: Installation
nav_order: 4
permalink: /installation/signingkeys
---
# Generating signing keys

View file

@ -3,6 +3,7 @@ title: Installing as a monolith
parent: Installation
has_toc: true
nav_order: 5
permalink: /installation/install/monolith
---
# Installing as a monolith

View file

@ -3,6 +3,7 @@ title: Installing as a polylith
parent: Installation
has_toc: true
nav_order: 6
permalink: /installation/install/polylith
---
# Installing as a polylith

View file

@ -2,6 +2,7 @@
title: Populate the configuration
parent: Installation
nav_order: 7
permalink: /installation/configuration
---
# Populate the configuration

View file

@ -1,6 +1,7 @@
---
title: SyTest
parent: Development
permalink: /development/sytest
---
# SyTest