# Komodo Stacks 🦎 **Docker Compose Stacks für Komodo Platform** Diese Stacks sind für den Einsatz mit **Komodo Core v2** optimiert. --- ## 📁 Struktur ``` komodo-stacks/ └── stacks/ ├── gotify/ │ ├── compose.yml # Docker Compose Definition │ ├── README.md # Stack-spezifische Doku │ └── stack.toml # Komodo Stack-Metadaten ├── prometheus/ └── ... (21 Stacks total) ``` --- ## 🚀 Verwendung in Komodo ### Resource Sync (Automatisch) 1. **Syncs → Add Resource Sync** 2. **Git Provider:** git.sky-net.it 3. **Repo Path:** `nocci/komodo-stacks` 4. **Branch:** `main` 5. **Resource Paths:** `stacks/` 6. **Sync** klicken Komodo erkennt automatisch alle `stack.toml` Files und erstellt die Stacks! ### Manuelle Stack-Erstellung 1. **Stacks → Add Stack** 2. **Name:** `gotify` (oder anderer Stack-Name) 3. **Quelle:** Git Repository 4. **Repo:** `nocci/komodo-stacks` 5. **Pfad:** `stacks/gotify/` (der Ordner!) 6. **Deploy** auf gewünschtem Server --- ## 📦 Verfügbare Stacks (21) ### 📊 Monitoring & Logging (5) | Stack | Beschreibung | Port | |-------|--------------|------| | **prometheus** | Monitoring & Alerting System | 9090 | | **grafana** | Dashboards & Visualisierung | 3000 | | **node-exporter** | System-Metriken für Prometheus | 9100 | | **promtail** | Log Collector für Loki | - | | **loki** | Log Aggregation System | 3100 | ### 💬 Communication (2) | Stack | Beschreibung | Port | |-------|--------------|------| | **gotify** | Push-Benachrichtigungen selbst gehostet | 9091 | | **ntfy** | Push-Benachrichtigungen per HTTP | 8080 | ### ☁️ Collaboration (2) | Stack | Beschreibung | Port | |-------|--------------|------| | **nextcloud-aio** | Cloud Storage & Collaboration | 8080 | | **wordpress** | CMS / Blog Platform | 8080 | ### 🔒 Security (2) | Stack | Beschreibung | Port | |-------|--------------|------| | **vaultwarden** | Password Manager (Bitwarden-kompatibel) | 8080 | | **authentik** | SSO / Identity Provider | 9000/9443 | ### 🎬 Media (3) | Stack | Beschreibung | Port | |-------|--------------|------| | **immich** | Photo Backup (Google Photos Alternative) | 2283 | | **jellyfin** | Media Server (Open Source) | 8096 | | **plex** | Media Server (Commercial) | 32400 | ### 🗄️ Infrastructure (3) | Stack | Beschreibung | Port | |-------|--------------|------| | **forgejo** | Git Server (Gitea Fork) | 3000/2222 | | **wireguard** | VPN Server | 51820 (UDP) | | **portainer** | Docker Management UI | 9000 | ### 🔍 Utilities (1) | Stack | Beschreibung | Port | |-------|--------------|------| | **searxng** | Privacy Meta Search Engine | 8080 | ### 🎮 Gaming (1) | Stack | Beschreibung | Port | |-------|--------------|------| | **pterodactyl-panel** | Game Server Management | 8080/8443 | ### 🐘 Social (1) | Stack | Beschreibung | Port | |-------|--------------|------| | **gotosocial** | ActivityPub Server (Fediverse) | 8080 | ### 💾 Backup (1) | Stack | Beschreibung | Port | |-------|--------------|------| | **backrest** | Backup Management UI (Restic) | 8080 | --- ## 🔐 Secrets Secrets werden in **Komodo** verwaltet: 1. **Settings → Secrets** 2. **Add Secret** 3. **Name und Wert** eingeben 4. **Beim Stack-Deploy** auswählen ### Häufige Secrets: | Secret Name | Verwendung | |-------------|------------| | `admin-user` | Admin Username | | `admin-pass` | Admin Password | | `db-password` | Datenbank Passwort | | `api-token` | API Token | --- ## 🌐 Caddy Integration **WICHTIG:** Alle Stacks hören nur auf `localhost:PORT`! Nach dem Deployen, Caddy Config auf dem Server bearbeiten: ```bash ssh sudo nano /etc/caddy/Caddyfile ``` Beispiel für Gotify: ```caddyfile gotify.example.com { reverse_proxy localhost:9091 } ``` Dann: ```bash sudo systemctl reload caddy ``` --- ## 🛠️ Eigene Stacks hinzufügen 1. **Ordner erstellen:** `stacks//` 2. **compose.yml** erstellen (Docker Compose Definition) 3. **README.md** mit Infos (Deploy-Pfad, Ports, Caddy, Notes) 4. **stack.toml** erstellen: ```toml [[stacks]] name = "my-stack" description = "Mein Stack" compose_path = "compose.yml" ``` 5. **Commit & Push** --- ## 📋 Stack-Struktur (Beispiel) ``` stacks/ └── my-stack/ ├── compose.yml # Docker Compose File ├── README.md # Doku für Users └── stack.toml # Komodo Metadata ``` ### compose.yml ```yaml services: my-service: image: my-image:latest ports: - "127.0.0.1:8080:80" volumes: - data:/data ``` ### stack.toml ```toml [[stacks]] name = "my-stack" description = "Beschreibung" compose_path = "compose.yml" ``` --- ## 🔧 Troubleshooting ### Stack wird nicht angezeigt 1. **Resource Sync** manuell ausführen 2. **stack.toml** vorhanden? 3. **compose.yml** im selben Ordner? 4. **Git URL** korrekt? ### Container starten nicht 1. **Logs prüfen** im Komodo Dashboard 2. **Secrets konfiguriert?** 3. **Ports belegt?** 4. **Docker Ressourcen** ausreichend? ### Caddy Proxy funktioniert nicht 1. **Caddy Config prüfen:** `sudo caddy validate` 2. **DNS Records** zeigen auf Server-IP? 3. **Firewall** Ports 80/443 offen? --- ## 📞 Support - **Komodo Docs:** https://komo.do - **Komodo GitHub:** https://github.com/moghtech/komodo - **Komodo Discord:** https://discord.gg/DRqE8Fvg5c --- ## 📝 Changelog ### 2026-03-09 - Initial Release - ✅ 21 Stacks erstellt - ✅ Alle mit compose.yml, README.md, stack.toml - ✅ Komodo v2 kompatibel - ✅ Resource Sync unterstützt --- **Author:** nocci **Version:** 1.0.0 **License:** MIT **Komodo Version:** v2.0.0-dev-123+ **Last Updated:** 2026-03-09