feat: Restructure to subdirectories with compose.yml

Each stack now has its own directory with standard compose.yml:
- stacks/gotify/compose.yml
- stacks/prometheus/compose.yml
- stacks/grafana/compose.yml
- stacks/vaultwarden/compose.yml
- stacks/node-exporter/compose.yml

Benefits:
- Cleaner structure
- Easier to maintain
- Works with Komodo manual stack creation
- README.md for each stack with deployment info

Usage in Komodo:
1. Stacks → Add Stack
2. Source: Git Repo (nocci/komodo-stacks)
3. Path: stacks/<stack-name>/ (the folder!)
4. Deploy to server
This commit is contained in:
nocci 2026-03-09 19:51:35 +00:00
parent f0bcf8c70c
commit b37541bb7a
16 changed files with 155 additions and 233 deletions

View file

@ -1,25 +0,0 @@
[stack]
name = "Gotify"
description = "Push-Benachrichtigungen selbst gehostet"
version = "1.0.0"
category = "communication"
author = "nocci"
[compose]
file = "gotify-compose.yml"
[variables.secrets]
gotify-admin-user = "Admin Username"
gotify-admin-pass = "Admin Password"
[ports]
gotify = "80"
[volumes]
gotify_data = "/app/data"
[healthcheck]
endpoint = "http://localhost:80/health"
interval = "30s"
timeout = "10s"
retries = 3

20
stacks/gotify/README.md Normal file
View file

@ -0,0 +1,20 @@
# Gotify
📱 Push-Benachrichtigungen selbst gehostet
## Deploy in Komodo
**Pfad:** `stacks/gotify/`
## Secrets
- `GOTIFY_DEFAULTUSER_NAME` - Admin Username
- `GOTIFY_DEFAULTUSER_PASS` - Admin Password
## Caddy
```caddyfile
gotify.example.com {
reverse_proxy localhost:9091
}
```

View file

@ -1,25 +0,0 @@
[stack]
name = "Grafana"
description = "Grafana Dashboards & Visualisierung"
version = "1.0.0"
category = "monitoring"
author = "nocci"
[compose]
file = "grafana-compose.yml"
[variables.secrets]
grafana-admin-user = "Admin Username"
grafana-admin-pass = "Admin Password"
[ports]
grafana = "3000"
[volumes]
grafana_data = "/var/lib/grafana"
[healthcheck]
endpoint = "http://localhost:3000/api/health"
interval = "30s"
timeout = "10s"
retries = 3

24
stacks/grafana/README.md Normal file
View file

@ -0,0 +1,24 @@
# Grafana
📊 Dashboards & Visualisierung
## Deploy in Komodo
**Pfad:** `stacks/grafana/`
## Secrets
- `GF_SECURITY_ADMIN_USER` - Admin Username
- `GF_SECURITY_ADMIN_PASSWORD` - Admin Password
## Ports
- `3000` - Web UI
## Caddy
```caddyfile
grafana.example.com {
reverse_proxy localhost:3000
}
```

View file

@ -1,21 +0,0 @@
[stack]
name = "Node Exporter"
description = "System-Metriken für Prometheus"
version = "1.0.0"
category = "monitoring"
author = "nocci"
[compose]
file = "node-exporter-compose.yml"
[variables]
# Keine Secrets erforderlich
[ports]
node_exporter = "9100"
[healthcheck]
endpoint = "http://localhost:9100/metrics"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -0,0 +1,15 @@
# Node Exporter
📈 System-Metriken für Prometheus
## Deploy in Komodo
**Pfad:** `stacks/node-exporter/`
## Ports
- `9100` - Metrics Endpoint
## Notes
Keine Secrets erforderlich. Auf jedem Server installieren der überwacht werden soll.

View file

@ -1,24 +0,0 @@
[stack]
name = "Prometheus"
description = "Prometheus Monitoring & Alerting System"
version = "1.0.0"
category = "monitoring"
author = "nocci"
[compose]
file = "prometheus-compose.yml"
[variables]
# Keine Secrets erforderlich
[ports]
prometheus = "9090"
[volumes]
prometheus_data = "/prometheus"
[healthcheck]
endpoint = "http://localhost:9090/-/healthy"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -0,0 +1,19 @@
# Prometheus
📊 Monitoring & Alerting System
## Deploy in Komodo
**Pfad:** `stacks/prometheus/`
## Ports
- `9090` - Web UI
## Caddy
```caddyfile
prometheus.example.com {
reverse_proxy localhost:9090
}
```

View file

@ -1,24 +0,0 @@
[stack]
name = "Vaultwarden"
description = "Password Manager (Bitwarden-kompatibel)"
version = "1.0.0"
category = "security"
author = "nocci"
[compose]
file = "vaultwarden-compose.yml"
[variables.secrets]
vaultwarden-admin-token = "Admin API Token (openssl rand -base64 48)"
[ports]
vaultwarden = "80"
[volumes]
vaultwarden_data = "/data"
[healthcheck]
endpoint = "http://localhost:80/alive"
interval = "30s"
timeout = "10s"
retries = 3

View file

@ -0,0 +1,23 @@
# Vaultwarden
🔐 Password Manager (Bitwarden-kompatibel)
## Deploy in Komodo
**Pfad:** `stacks/vaultwarden/`
## Secrets
- `ADMIN_TOKEN` - Admin API Token (openssl rand -base64 48)
## Ports
- `8080` - Web UI
## Caddy
```caddyfile
vault.example.com {
reverse_proxy localhost:8080
}
```