Files
compose-matrix/README.md
2024-07-12 17:23:19 +02:00

62 lines
2.6 KiB
Markdown

# compose-matrix
Matrix Stack bestehend aus Matrix Server "Synapse" sowie dem Frontend "Element".
## Inital setup
1. Copy env file: `cp env.sample .env`
2. Edit env file: `nano .env`
1. Basedir: Full path to dir with compose file (important for swarm shares)
2. Versionnumbers
3. DB settings
4. Domain! (no default)
2. Genreate inital config for synapse:
1. `source .env`
2. `docker run -it --rm -v --env-file .env ${BASEDIR:-.}/files/:/data -e SYNAPSE_SERVER_NAME=$DOMAIN -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate`
- This generate certs and basic inital config (homeserver.yml) for $DOMAIN only for first setup needed
Postgress by default not in use!
Default DB is SQLite.
3. (optional) Set db in config: `nano $BASEDIR/files/synapse/homeserver.yaml`
4. Edit element config: `nano files/element-config.json`
1. set "default_server_name" to your domain for Synapse
2. set "m.homeserver" => "base_url" to your domain for Element
3. Hint: by default connection to main servers of matrix.org is enabled
4. Hint: by default jitsi (cloud!) is uses for **group** videocalls
- > [^jitsi]: 1:1 calls, or calls between you and one other person, do not use Jitsi. Instead, those calls work directly between clients or via TURN servers configured on the respective homeservers.
- Hint: Jisi can be selfhost (no templace exist atm)
5. Run stack `docker compose up`
## howto
### enable registration
1. edit `homeserver.yaml`
1. set "enable_registration" to "True"
2. set "enable_registration_without_verification" to "True" # note: maybe not comming soon..
For disable ... well you know, set "enable_registration" to "False"
### create user via cli
1. Import .env or set $DOMAIN manually
2. Set env $USERNAME and $USERPASS oder replace it directly
```
source .env
docker exec -it matrix_app_1 register_new_matrix_user -u $USERNAME -p $USERPASS -a -c /data/homeserver.yaml $DOMAIN
```
## todo
- setup script to auto edits
- db in homeserver.yml
- domain in config.json (element)
## sources
- https://docs.docker.com/reference/cli/docker/container/run/
- https://adfinis.com/en/blog/how-to-set-up-your-own-matrix-org-homeserver-with-federation/
- https://zerowidthjoiner.net/2020/03/20/setting-up-matrix-and-riot-with-docker
- https://linuxhandbook.com/install-matrix-synapse-docker/
- https://cyberhost.uk/element-matrix-setup/
- https://raw.githubusercontent.com/vector-im/element-web/v1.5.13/config.sample.json
- https://github.com/element-hq/element-web/blob/develop/docs/jitsi.md
[^jitsi]: https://github.com/element-hq/element-web/blob/develop/docs/jitsi.md