Claude Based Knowledge: Backup & Roadmap

Backup-Prioritäten

Kritisch (Datenverlust = Katastrophe)

WasWoGröße (ca.)Backup-Methode
PostgreSQL Job Trackerjobtracker-db (:5432)~50 MBpg_dump via Docker
PostgreSQL Intel Platformintel-platform-postgres-1 (:5433)~100 MBpg_dump via Docker
PostgreSQL Authentikauthentik-db~20 MBpg_dump via Docker
PostgreSQL Outlineoutline-db~30 MBpg_dump via Docker
PostgreSQL Minifluxminiflux-db~50 MBpg_dump via Docker
MariaDB BookStackbookstack-db~20 MBmysqldump via Docker
Vaultwarden~/projects/vaultwarden/data/~10 MBDateikopie
Forgejo Repos~/projects/forgejo/data/~500 MBDateikopie + git clone
SSL-Zertifikate/etc/letsencrypt/~5 MBDateikopie

Wichtig (Verlust = mehrere Stunden Arbeit)

WasWoBackup-Methode
n8n Workflows~/projects/job-tracker/n8n-data/Dateikopie
Uptime Kuma DB~/projects/uptime-kuma/data/kuma.dbDateikopie
Outline Minio (S3 Files)outline-minio VolumeDateikopie
Nginx Configs/etc/nginx/sites-available/Dateikopie
Docker Compose Files~/projects/*/docker-compose.ymlGit
.env Files~/projects//.envDateikopie (verschlüsselt!)
MkDocs Content~/mkdocs/docs/Git

Niedrig (Schnell wiederherstellbar)

WasWarum niedrig
Docker ImagesWerden aus Dockerfiles neu gebaut
node_modulesnpm ci stellt sie wieder her
.next Buildnpm run build erzeugt sie neu
Let’s Encrypt (erneuern)Certbot holt neue Zertifikate

Backup-Skript

#!/bin/bash
# /home/nsa/bin/backup.sh
# Tägliches Backup aller kritischen Daten
 
set -euo pipefail
 
BACKUP_DIR="/home/nsa/backups/$(date +%Y-%m-%d)"
mkdir -p "$BACKUP_DIR"
 
echo "=== Backup gestartet: $(date) ==="
 
# 1. PostgreSQL Dumps
echo "[1/7] PostgreSQL Dumps..."
docker exec jobtracker-db pg_dump -U jobtracker jobtracker | gzip > "$BACKUP_DIR/jobtracker.sql.gz"
docker exec intel-platform-postgres-1 pg_dump -U intel intel | gzip > "$BACKUP_DIR/intel-platform.sql.gz"
docker exec authentik-db pg_dump -U authentik authentik | gzip > "$BACKUP_DIR/authentik.sql.gz"
docker exec outline-db pg_dump -U outline outline | gzip > "$BACKUP_DIR/outline.sql.gz"
docker exec miniflux-db pg_dump -U miniflux miniflux | gzip > "$BACKUP_DIR/miniflux.sql.gz"
 
# 2. MariaDB Dump
echo "[2/7] MariaDB Dump..."
docker exec bookstack-db mysqldump -u bookstack --password="$BOOKSTACK_DB_PASS" bookstackapp | gzip > "$BACKUP_DIR/bookstack.sql.gz"
 
# 3. Vaultwarden
echo "[3/7] Vaultwarden..."
cp -r ~/projects/vaultwarden/data/ "$BACKUP_DIR/vaultwarden-data/"
 
# 4. Forgejo
echo "[4/7] Forgejo..."
tar czf "$BACKUP_DIR/forgejo-data.tar.gz" -C ~/projects/forgejo data/
 
# 5. Config Files
echo "[5/7] Config Files..."
tar czf "$BACKUP_DIR/nginx-configs.tar.gz" /etc/nginx/sites-available/
tar czf "$BACKUP_DIR/env-files.tar.gz" ~/projects/job-tracker/.env ~/projects/intel-platform/.env 2>/dev/null || true
 
# 6. Kleinere Services
echo "[6/7] Service-Daten..."
cp ~/projects/uptime-kuma/data/kuma.db "$BACKUP_DIR/kuma.db" 2>/dev/null || true
tar czf "$BACKUP_DIR/n8n-data.tar.gz" -C ~/projects/job-tracker n8n-data/
 
# 7. Aufräumen (Backups älter als 7 Tage)
echo "[7/7] Aufräumen..."
find /home/nsa/backups/ -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
 
echo "=== Backup abgeschlossen: $(date) ==="
echo "Größe: $(du -sh "$BACKUP_DIR" | cut -f1)"

Cron einrichten

# Täglich um 03:00 Uhr
0 3 * * * /home/nsa/bin/backup.sh >> /home/nsa/backups/backup.log 2>&1

Offsite-Backup-Optionen

OptionKostenVerschlüsselungAutomation
Hetzner Storage Boxab 3,81€/mo (1 TB)Via borgbackupEinfach via SSH/rsync
Backblaze B2$6/TB/moS3-kompatibel, client-sideVia rclone
rsync.net$0.02/GB/moVia borgbackupSSH nativ
Zweiter VPS~5€/moVia rsync + GPGEigene Kontrolle

Empfehlung: Hetzner Storage Box + borgbackup für inkrementelle, verschlüsselte Backups.

Roadmap

Phase 1: Stabilität (aktuell)

  • Alle Services containerisiert
  • SSL für alle Subdomains
  • Monitoring via Uptime Kuma
  • Dokumentation via MkDocs
  • Backup-Skript einrichten und automatisieren
  • Offsite-Backup konfigurieren
  • Fail2Ban Regeln erweitern (nicht nur SSH)

Phase 2: Automation

  • n8n Workflows ausbauen (Job-Alerts, Status-Reports)
  • Automatische Benachrichtigungen bei Container-Ausfällen
  • CI/CD über Forgejo Actions (Docker Image Builds)
  • Automatische DB-Backups mit Retention Policy
  • Certbot Auto-Renewal verifizieren und monitoren

Phase 3: Optimierung

  • Authentik SSO für alle Services einrichten
  • Resource Limits für Docker Container setzen
  • Log-Aggregation (Loki/Grafana oder einfaches Log-Rotation)
  • Container Health Checks überall einrichten
  • Performance-Monitoring (CPU/RAM/Disk pro Container)

Phase 4: Erweiterung

  • Mail-Integration vollständig (Proton Bridge → n8n → Job Tracker)
  • Mobile-optimierte Status-Seite
  • API Gateway für einheitlichen Zugriff
  • Automatisierte Server-Updates (mit Rollback-Plan)
  • Multi-User Support für Intel Platform