Docker-Compose-Stacks und Konfiguration des Intranet-Servers
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-18 10:41:23 +00:00
caddy Intranet-Server Konfiguration: Docker-Compose-Stacks, Caddy, Forgejo 2026-08-18 10:01:11 +00:00
forgejo Doku & Bereinigung: .env.example-Vorlagen, README, Gitignore-Regeln, erl_inetrc entfernt, onlyoffice-Compose ergänzt 2026-08-18 10:41:23 +00:00
matrix Doku & Bereinigung: .env.example-Vorlagen, README, Gitignore-Regeln, erl_inetrc entfernt, onlyoffice-Compose ergänzt 2026-08-18 10:41:23 +00:00
nextcloud Doku & Bereinigung: .env.example-Vorlagen, README, Gitignore-Regeln, erl_inetrc entfernt, onlyoffice-Compose ergänzt 2026-08-18 10:41:23 +00:00
onlyoffice Doku & Bereinigung: .env.example-Vorlagen, README, Gitignore-Regeln, erl_inetrc entfernt, onlyoffice-Compose ergänzt 2026-08-18 10:41:23 +00:00
pantalaimon Intranet-Server Konfiguration: Docker-Compose-Stacks, Caddy, Forgejo 2026-08-18 10:01:11 +00:00
plausible Doku & Bereinigung: .env.example-Vorlagen, README, Gitignore-Regeln, erl_inetrc entfernt, onlyoffice-Compose ergänzt 2026-08-18 10:41:23 +00:00
searxng Intranet-Server Konfiguration: Docker-Compose-Stacks, Caddy, Forgejo 2026-08-18 10:01:11 +00:00
.gitignore Doku & Bereinigung: .env.example-Vorlagen, README, Gitignore-Regeln, erl_inetrc entfernt, onlyoffice-Compose ergänzt 2026-08-18 10:41:23 +00:00
manage_stacks.py Intranet-Server Konfiguration: Docker-Compose-Stacks, Caddy, Forgejo 2026-08-18 10:01:11 +00:00
README.md Doku & Bereinigung: .env.example-Vorlagen, README, Gitignore-Regeln, erl_inetrc entfernt, onlyoffice-Compose ergänzt 2026-08-18 10:41:23 +00:00

Intranet-Server Konfiguration

Dieses Repository enthält die Docker-Compose-Stacks und Konfigurationen des Intranet-Servers (AGiL). Alle Dienste laufen hinter einem gemeinsamen Caddy-Reverse-Proxy und sind über Subdomains von alltagshelferei.de erreichbar.

Architektur

                        ┌──────────────┐
    Internet ──────────►│   Caddy      │  (Reverse-Proxy, TLS via Let's Encrypt)
                        │  (Port 80/443)│
                        └──────┬───────┘
                               │  Docker-Netzwerk: intranet-net
         ┌─────────┬───────────┼───────────┬───────────┬─────────┐
         ▼         ▼           ▼           ▼           ▼         ▼
      SearXNG   Plausible   Matrix    OnlyOffice   Nextcloud  Forgejo

Alle Container hängen am externen Docker-Netzwerk intranet-net. Der Caddy-Proxy leitet Subdomain-Anfragen an die jeweiligen Container-Namen weiter.

Subdomains & Dienste

Subdomain Dienst Container
iris-agent.alltagshelferei.de Matrix-Server (Synapse) matrix-server:8008
leipzig.alltagshelferei.de Nextcloud + Talk Signaling nextcloud-app:80
s.alltagshelferei.de SearXNG Metasuchmaschine searxng-app:8080
analytics.alltagshelferei.de Plausible Analytics plausible-app:8000
office-agil-nc.alltagshelferei.de OnlyOffice onlyoffice-documentserver:80
giteo-2026.alltagshelferei.de Forgejo (Git-Server) forgejo-app:3000

Hinweis: Forgejo-SSH läuft auf Port 53535 (nicht Standard-22): git clone ssh://git@giteo-2026.alltagshelferei.de:53535/<user>/<repo>.git

Konfiguration der Secrets (.env)

Die Passwörter und Secrets stehen nicht in den docker-compose.yml-Dateien, sondern in einer .env-Datei pro Stack, die von Git ignoriert wird.

Ersteinrichtung eines Stacks:

cd /opt/intranet/<stack>
cp .env.example .env    # Vorlage kopieren
$EDITOR .env            # Werte eintragen

Jeder Stack mit Secrets hat eine .env.example-Vorlage mit den benötigten Variablen (Werte leer). Die echten .env-Dateien werden nie committet.

Verwaltung: manage_stacks.py

Alle Stacks lassen sich zentral starten/stoppen:

python3 manage_stacks.py ps      # Status aller Stacks
python3 manage_stacks.py up      # Alle Stacks starten (Caddy zuerst)
python3 manage_stacks.py down    # Alle Stacks stoppen (Caddy zuletzt)
python3 manage_stacks.py pull    # Images aktualisieren

Die Startreihenfolge steht in der COMPOSE_STACKS-Liste in manage_stacks.py.

Sicherheitshinweise

  • .env-Dateien enthalten echte Secrets und werden niemals committet.
  • nextcloud/signaling/server.conf und nextcloud/maps-main.js sind Daten-/Generated-Dateien und bleiben ignoriert.
  • Container-Daten-Verzeichnisse (caddy/data, caddy/config, forgejo/db, Logs, DBs) sind bewusst nicht im Repo.