# 🏗 Bruchtal Docker-Architektur ## Übersicht Die Bruchtal-Infrastruktur läuft vollständig containerisiert auf einer VM. Alle Dienste kommunizieren über ein dediziertes Docker-Netzwerk, nutzen Git zur Versionierung und automatisches Deploy über Webhooks. **Hauptkomponenten:** | Service | Containername | Funktion | |----------------|-------------------|---------| | Gitea | `gitea` | Git-Server für Infrastruktur & Dokumentation | | Wiki.js | `wikijs` | Wissensmanagement & Dokumentation | | MkDocs | `bruchtal-docs` | Statische Markdown-Dokumentation | | Webhook | `bruchtal-webhook`| Automatisches Deploy bei Git Push | | Docker Host | VM | Plattform für alle Container | --- ## IP 192.168.178.204 ## derzeit belegte Ports: | Port | Dienst | Container | Funktion | URL | |-------|--------------------|--------------|-----------------------------------|--------------------------------| | 9443 |Portainer | portainer | **reines Dashboard** für Docker | [portainer.seanluc.de](https://portainer.seanluc.de) | | 1380 | Vaultwarden | vaulttwarden | Passwortmanager | [bitwarden.seanluc.de](https://bitwarden.seanluc.de) | | 1180 | Nextcloud | nexcloud | Cloud | [nc.seanluc.de](https://nc.seanluc.de) | | 3002 | Gitea | gitea | Repo Verwaltung | [gitea.seanluc.de](https://gitea.seanluc.de) | | 9005 | Mkdocs | bruchtal-docs| Dokumentation | [doku.seanluc.de](doku.seanluc.de) | --- ## 🔗 Netzwerke Alle Container laufen im **gemeinsamen Docker-Netzwerk** `bruchtal-net`: - Kommunikation per Service-Namen (`gitea`, `bruchtal-webhook`) - Keine Abhängigkeit von Host-IP - Isoliert von anderen VM-Netzwerken Beispiel Docker-Compose-Netzwerkdefinition: ```yaml networks: bruchtal-net: external: true ``` ## Mounts Die Mount laufen nicht über die fstab. Grund: die QNAP geht seltsam mit Sonderzeichen in den credentials um. Lösung: sudo nano /etc/systemd/system/mnt-vaultwardenBackupOnQnap.mount: ``` ini [Unit] After=network-online.target [Mount] What=//192.168.178.254/Backups/docker_backups/vaultwarden Where=/mnt/vaultwardenBackupOnQnap Type=cifs Options=rw,vers=3.0,username=admin,password=!!Zazen17**,uid=1001,gid=1001 [Install] WantedBy=multi-user.target ``` dann ``` sudo systemctl daemon-reload sudo systemctl enable mnt-vaultwardenBackupOnQnap.mount sudo systemctl start mnt-vaultwardenBackupOnQnap.mount #Mount wird auch beim booten gestartet sudo systemctl stop mnt-vaultwardenBackupOnQnap.mount #Mount wird gestoppt ## Docker Backup Docker läuft als VM unter Proxmox und wird dort täglich vollständig auf der Qnap gesichert [=> Proxmox_Backup:](../../backup_restore/proxmox/proxmox_backup.md)