computer-playbook/roles/docker-matrix-compose/README.md

83 lines
3.1 KiB
Markdown

# Docker-Matrix Role README
## Overview
This document serves as the README for the `docker-matrix` role, a part of the `CyMaIS` project. This role automates the deployment of a Matrix server using Docker.
Matrix is an open-source project that provides a protocol for secure, decentralized, real-time communication. It offers features like end-to-end encrypted chat, VoIP, and file sharing, catering to both individual and enterprise users. With a focus on interoperability, Matrix can bridge with other communication systems, offering a unified platform for messaging and collaboration.
## Dependencies
- `nginx-docker-reverse-proxy` (see `meta/main.yml`)
## Files and Their Functions
1. **`vars/main.yml`**: Defines variables such as `docker_compose_instance_directory`.
2. **`handlers/main.yml`**: Contains handlers like `recreate matrix` for restarting the Matrix service.
3. **`tasks/main.yml`**: Contains main tasks like creating directories and configuration files.
4. **`templates/log.config.j2`**: Template for the Matrix server's logging configuration.
5. **`templates/homeserver.yaml.j2`**: Template for the main configuration file of the Matrix server.
6. **`templates/docker-compose.yml.j2`**: Docker-Compose template for setting up the Matrix server and database.
## Important Administration Commands
- **Create Matrix Users**:
```
docker compose exec -it synapse register_new_matrix_user -u [Username] -p [Password] -a -c /data/homeserver.yaml http://localhost:8008
```
- **Execute Docker-Compose Commands**:
- Restart services:
```
docker-compose up -d --force-recreate
```
- View logs:
```
docker-compose logs
```
## Cleanup
```
# Cleanup Database
for db in matrix mautrix_whatsapp_bridge mautrix_telegram_bridge mautrix_signal_bridge mautrix_slack_bridge; do python reset-database-in-central-postgres.py $db; done
# Cleanup Docker and Volumes
docker compose down -v
```
## Bridges
### Mautrix
Contact one of the following bots for more information:
- @signalbot:yourdomain.tld
- @telegrambot:yourdomain.tld
- @whatsappbot:yourdomain.tld
- @slackbot:yourdomain.tld
#### Slack
For login with Token checkout [this guide](https://docs.mau.fi/bridges/go/slack/authentication.html).
### ChatGPT
- Create API Token: https://platform.openai.com/api-keys
- Set ``matrix_chatgpt_bridge_access_token``
## Debug:
- https://federationtester.matrix.org/
## Sources
### Guides
- https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
- https://cyberhost.uk/element-matrix-setup/
- https://www.linode.com/docs/guides/how-to-install-the-element-chat-app/
- https://hub.docker.com/r/vectorim/element-web
## Links to ChatGPT Conversations
- https://chat.openai.com/share/d4485223-3750-4b0b-9733-45776c55d7cf
- https://chat.openai.com/share/f68873d9-aae9-4a1e-83b6-c3f23705a4ad
- https://chat.openai.com/share/11690964-9997-4e44-b63f-3c384a5ddc1d
- https://chat.openai.com/share/6f537c30-7337-47ed-8c85-19306e0eb74b
- https://chat.openai.com/share/31974492-2950-4dbc-8a83-edd7e1569bec
## Alternativ Matrix Setup Role
An alternativ role to deploy Matrix you will find [here](../docker-matrix-ansible/).