feat: Initial stacks for testing
Added first test stacks:
- monitoring/prometheus
- monitoring/grafana
- monitoring/node-exporter
- communication/gotify
- communication/vaultwarden
All stacks:
- Use localhost ports only (for Caddy reverse proxy)
- Support Komodo Secrets via ${SECRET:secret-name}
- Include README with Caddy integration instructions
- Ready for Komodo v2 Resource Sync
This commit is contained in:
commit
f9fdea3a1f
11 changed files with 663 additions and 0 deletions
74
stacks/monitoring/grafana/README.md
Normal file
74
stacks/monitoring/grafana/README.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Grafana
|
||||
|
||||
📊 **Dashboards & Visualisierung**
|
||||
|
||||
Grafana ist eine Open-Source-Plattform für Datenvisualisierung.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
1. **In Komodo:** Stack auswählen → Deploy
|
||||
2. **Server wählen**
|
||||
3. **Warten** bis Container läuft
|
||||
4. **Caddy Config** hinzufügen
|
||||
5. **Öffnen** und einloggen (admin/admin)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Caddy Integration
|
||||
|
||||
```bash
|
||||
ssh <server>
|
||||
sudo nano /etc/caddy/Caddyfile
|
||||
```
|
||||
|
||||
Hinzufügen:
|
||||
```caddyfile
|
||||
grafana.example.com {
|
||||
reverse_proxy localhost:3000
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl reload caddy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Secrets (Komodo)
|
||||
|
||||
| Secret Name | Beschreibung | Beispiel |
|
||||
|-------------|--------------|----------|
|
||||
| `grafana-admin-user` | Admin Username | `admin` |
|
||||
| `grafana-admin-pass` | Admin Password | `sicheres-passwort` |
|
||||
|
||||
---
|
||||
|
||||
## 📁 Files
|
||||
|
||||
- `compose.yml` - Docker Compose Konfiguration
|
||||
|
||||
---
|
||||
|
||||
## 📊 Datenquellen
|
||||
|
||||
Nach dem ersten Login:
|
||||
1. **Configuration → Data Sources**
|
||||
2. **Add data source**
|
||||
3. **Prometheus** auswählen
|
||||
4. URL: `http://prometheus:9090` (wenn auf gleichem Server: `http://localhost:9090`)
|
||||
5. **Save & Test**
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Updates
|
||||
|
||||
Wird automatisch aktuell gehalten durch Komodo.
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support
|
||||
|
||||
- **Docs:** https://grafana.com/docs
|
||||
- **GitHub:** https://github.com/grafana/grafana
|
||||
30
stacks/monitoring/grafana/compose.yml
Normal file
30
stacks/monitoring/grafana/compose.yml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:3000:3000"
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- grafana_config:/etc/grafana
|
||||
environment:
|
||||
- GF_SECURITY_ADMIN_USER=${SECRET:grafana-admin-user}
|
||||
- GF_SECURITY_ADMIN_PASSWORD=${SECRET:grafana-admin-pass}
|
||||
- GF_USERS_ALLOW_SIGN_UP=false
|
||||
networks:
|
||||
- monitoring
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget --spider -q http://localhost:3000/api/health || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
volumes:
|
||||
grafana_data:
|
||||
grafana_config:
|
||||
|
||||
networks:
|
||||
monitoring:
|
||||
driver: bridge
|
||||
63
stacks/monitoring/node-exporter/README.md
Normal file
63
stacks/monitoring/node-exporter/README.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Node Exporter
|
||||
|
||||
📈 **System-Metriken für Prometheus**
|
||||
|
||||
Node Exporter sammelt Hardware- und Betriebssystem-Metriken.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
1. **In Komodo:** Stack auswählen → Deploy
|
||||
2. **Server wählen** (wo Prometheus läuft)
|
||||
3. **Warten** bis Container läuft
|
||||
4. **In Prometheus** als Target hinzufügen
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Prometheus Integration
|
||||
|
||||
In Prometheus Config (`prometheus.yml`):
|
||||
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: 'node-exporter'
|
||||
static_configs:
|
||||
- targets: ['localhost:9100']
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Secrets
|
||||
|
||||
Keine Secrets erforderlich.
|
||||
|
||||
---
|
||||
|
||||
## 📁 Files
|
||||
|
||||
- `compose.yml` - Docker Compose Konfiguration
|
||||
|
||||
---
|
||||
|
||||
## 📊 Metriken
|
||||
|
||||
Node Exporter exposed Metriken auf Port 9100:
|
||||
- CPU Usage
|
||||
- Memory Usage
|
||||
- Disk I/O
|
||||
- Network I/O
|
||||
- System Load
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Updates
|
||||
|
||||
Wird automatisch aktuell gehalten durch Komodo.
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support
|
||||
|
||||
- **GitHub:** https://github.com/prometheus/node_exporter
|
||||
- **Docs:** https://prometheus.io/docs/guides/node-exporter/
|
||||
28
stacks/monitoring/node-exporter/compose.yml
Normal file
28
stacks/monitoring/node-exporter/compose.yml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
services:
|
||||
node-exporter:
|
||||
image: prom/node-exporter:latest
|
||||
container_name: node-exporter
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:9100:9100"
|
||||
volumes:
|
||||
- /proc:/host/proc:ro
|
||||
- /sys:/host/sys:ro
|
||||
- /:/rootfs:ro
|
||||
command:
|
||||
- '--path.procfs=/host/proc'
|
||||
- '--path.sysfs=/host/sys'
|
||||
- '--path.rootfs=/rootfs'
|
||||
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
|
||||
networks:
|
||||
- monitoring
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--spider", "-q", "http://localhost:9100/metrics"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
|
||||
networks:
|
||||
monitoring:
|
||||
driver: bridge
|
||||
69
stacks/monitoring/prometheus/README.md
Normal file
69
stacks/monitoring/prometheus/README.md
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# Prometheus
|
||||
|
||||
📊 **Monitoring & Alerting**
|
||||
|
||||
Prometheus ist ein Open-Source-Monitoring- und Alerting-System.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
1. **In Komodo:** Stack auswählen → Deploy
|
||||
2. **Server wählen**
|
||||
3. **Warten** bis Container läuft
|
||||
4. **Caddy Config** hinzufügen
|
||||
5. **Öffnen** unter `prometheus.example.com`
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Caddy Integration
|
||||
|
||||
```bash
|
||||
ssh <server>
|
||||
sudo nano /etc/caddy/Caddyfile
|
||||
```
|
||||
|
||||
Hinzufügen:
|
||||
```caddyfile
|
||||
prometheus.example.com {
|
||||
reverse_proxy localhost:9090
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl reload caddy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Secrets (Komodo)
|
||||
|
||||
Keine Secrets erforderlich für Basis-Installation.
|
||||
|
||||
---
|
||||
|
||||
## 📁 Files
|
||||
|
||||
- `compose.yml` - Docker Compose Konfiguration
|
||||
|
||||
---
|
||||
|
||||
## 📊 Prometheus UI
|
||||
|
||||
- **URL:** http://localhost:9090
|
||||
- **Query Browser:** `/graph`
|
||||
- **Alerts:** `/alerts`
|
||||
- **Targets:** `/targets`
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Updates
|
||||
|
||||
Prometheus wird automatisch aktuell gehalten durch Komodo.
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support
|
||||
|
||||
- **Docs:** https://prometheus.io/docs
|
||||
- **GitHub:** https://github.com/prometheus/prometheus
|
||||
32
stacks/monitoring/prometheus/compose.yml
Normal file
32
stacks/monitoring/prometheus/compose.yml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
services:
|
||||
prometheus:
|
||||
image: prom/prometheus:latest
|
||||
container_name: prometheus
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:9090:9090"
|
||||
volumes:
|
||||
- prometheus_data:/prometheus
|
||||
- prometheus_config:/etc/prometheus
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
- '--storage.tsdb.path=/prometheus'
|
||||
- '--storage.tsdb.retention.time=15d'
|
||||
- '--web.console.libraries=/etc/prometheus/console_libraries'
|
||||
- '--web.console.templates=/etc/prometheus/consoles'
|
||||
networks:
|
||||
- monitoring
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--spider", "-q", "http://localhost:9090/-/healthy"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
|
||||
volumes:
|
||||
prometheus_data:
|
||||
prometheus_config:
|
||||
|
||||
networks:
|
||||
monitoring:
|
||||
driver: bridge
|
||||
Loading…
Add table
Add a link
Reference in a new issue