matrix-docker-ansible-deploy/docs/maintenance-and-troubleshooting.md
Suguru Hirahara 038d046612
Update docs/maintenance-and-troubleshooting.md: tidy up
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:20:36 +09:00

54 lines
2.1 KiB
Markdown

# Maintenance and Troubleshooting
## How to see the current status of your services
You can check the status of your services by using `systemctl status`. Example:
```sh
sudo systemctl status matrix-synapse
● matrix-synapse.service - Synapse server
Loaded: loaded (/etc/systemd/system/matrix-synapse.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-01-14 09:13:06 UTC; 1h 31min ago
```
Docker containers that the playbook configures are supervised by [systemd](https://wiki.archlinux.org/title/Systemd) and their logs are configured to go to [systemd-journald](https://wiki.archlinux.org/title/Systemd/Journal).
To view systemd-journald logs using [journalctl](https://man.archlinux.org/man/journalctl.1), log in to the server with SSH and run a command like this:
```sh
sudo journalctl -fu matrix-synapse
```
**Note**: to prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you **cannot** view logs using `docker logs`.
## How to check if services work
The playbook can perform a check to ensure that you've configured things correctly and that services are running.
To perform the check, run:
```sh
ansible-playbook -i inventory/hosts setup.yml --tags=self-check
```
The shortcut command with `just` program is also available: `just run-tags self-check`
If it's all green, everything is probably running correctly.
Besides this self-check, you can also check whether your server federates with the Matrix network by using the [Federation Tester](https://federationtester.matrix.org/) against your base domain (`example.com`), not the `matrix.example.com` subdomain.
## Remove unused Docker data
You can free some disk space from Docker by removing its unused data. See [docker system prune](https://docs.docker.com/engine/reference/commandline/system_prune/) for more information.
```sh
ansible-playbook -i inventory/hosts setup.yml --tags=run-docker-prune
```
The shortcut command with `just` program is also available: `just run-tags run-docker-prune`
## Postgres
See the dedicated [PostgreSQL Maintenance](maintenance-postgres.md) documentation page.