Technische Informationen

Über dieses Projekt

Das Projekt läuft auf zwei virtuellen Servern: einem Debian-Server (x86_64) für die eigentlichen Dienste und einem zweiten Server in der Oracle Cloud (Ubuntu, arm64), der Monitoring und ressourcenhungrige Dienste übernimmt. Alle Services laufen in Docker-Containern, die gesamte Infrastruktur wird mit Ansible verwaltet.

Grundlage war das c't Telerec't Repo:

Technologie-Stack

  • • Reverse Proxy: Traefik v3 mit automatischem Let's Encrypt TLS
  • • Authentifizierung: Keycloak (OIDC/OAuth2), zentrales SSO per oauth2-proxy im forwardAuth-Modus
  • • Container Management: Docker + Portainer
  • • Automatisierung: Ansible, Watchtower, Autoheal
  • • Datenbanken: MariaDB, PostgreSQL, Redis
  • • Logging & Monitoring: Grafana, Loki, Promtail, Prometheus (serverübergreifend)
  • • Netzwerk: WireGuard VPN für den Zugriff auf interne Dienste
  • • Backup: Restic mit Hetzner S3 Object Storage

Verwendete Technologien

Docker Docker
Traefik Traefik
Ansible Ansible
Keycloak Keycloak
MariaDB MariaDB
Redis Redis
Nextcloud Nextcloud
Grafana Grafana
Debian Debian
Let's Encrypt Let's Encrypt
Hetzner Hetzner S3
n8n n8n

Monitoring & Backup

Logging & Monitoring: Grafana Loki sammelt die Container-Logs beider Server zentral, Prometheus die Metriken. Beides läuft auf dem Oracle-Server, damit das Monitoring nicht am überwachten System hängt. Visualisierung erfolgt über Grafana Dashboards unter logs.riedberg-server.de.

Backup-Strategie: Tägliche verschlüsselte Backups via Restic auf Hetzner S3 Object Storage.

Sicherheit & Best Practices

Alle Services sind durch Traefik mit automatischem TLS-Zertifikat geschützt. Sensitive Services sind zusätzlich durch Keycloak OIDC-Authentifizierung gesichert. Secrets werden nie im Code gespeichert, sondern über Bitwarden Secrets Manager verwaltet.