# Getting Started - Backup-Automation Setup Schnelleinstieg für MBO-Tech-IT Backup-Automation. ## Schritt 1: Repository klonen ```bash git clone https://gitea.mbo-tech-it.de/claude/backup-automation.git cd backup-automation ``` ## Schritt 2: Secrets vorbereiten ```bash # Erstelle secrets.env Datei (NICHT commiten!) cat > secrets.env << 'EOF' export NETBOX_TOKEN="your-netbox-api-token-here" export NETBOX_URL="https://netbox.mbo-tech-it.de" export HETZNER_S3_ACCESS_KEY="your-s3-access-key" export HETZNER_S3_SECRET_KEY="your-s3-secret-key" export HETZNER_S3_REGION="fsn1" EOF chmod 600 secrets.env source secrets.env ``` ## Schritt 3: Backup-Server vorbereiten ```bash # SSH zum zukünftigen Backup-Server ssh root@backup01.mbotechit.de # Ansible installieren apt update && apt install -y ansible # Ansible Playbook ausführen cd /tmp/backup-automation ansible-playbook ansible/playbooks/configure-backup-server.yaml \ -e "hetzner_s3_access_key=$HETZNER_S3_ACCESS_KEY" \ -e "hetzner_s3_secret_key=$HETZNER_S3_SECRET_KEY" ``` ## Schritt 4: Netbox TAGs vorbereiten ### TAGs in Netbox erstellen **Admin → Customization → Tags** und folgende TAGs anlegen: | Name | Slug | Farbe | |------|------|-------| | auto-backup | auto-backup | 🟢 | | env:prod | env-prod | 🔴 | | env:staging | env-staging | 🟡 | | env:dev | env-dev | 🔵 | **Erforderlich:** Mindestens `auto-backup` **Optional:** Umgebungs-TAGs, Tenant-TAGs, etc. (siehe `docs/NETBOX-TAGS.md`) ### Systeme taggen **DCIM → Devices** → Gerät öffnen → **Tags** hinzufügen **Beispiel Production-Server:** ``` ✓ auto-backup (erforderlich!) ✓ env:prod (optional) ``` **Oder via API:** ```bash DEVICE_ID=123 curl -X PATCH https://netbox.mbo-tech-it.de/api/dcim/devices/$DEVICE_ID/ \ -H "Authorization: Token $NETBOX_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "tags": [ {"name": "auto-backup"}, {"name": "env:prod"} ] }' ``` **Details zur TAG-Struktur:** Siehe `docs/NETBOX-TAGS.md` ## Schritt 5: Kestra Workflow einrichten ```bash # Workflow hochladen curl -X POST https://kestra.pve.mbo-tech-it.de/api/v1/flows \ -H "Content-Type: application/yaml" \ -d @kestra/workflows/backup-provision.yaml # Oder via UI: # 1. Login zu https://kestra.pve.mbo-tech-it.de # 2. Create Flow → Upload YAML # 3. Speichern ``` ## Schritt 6: Secrets in Kestra setzen In Kestra UI: 1. **Settings** → **Secrets** 2. Füge diese Secrets hinzu: ``` NETBOX_TOKEN = (dein Token) NETBOX_URL = https://netbox.mbo-tech-it.de HETZNER_S3_ACCESS_KEY = (dein S3 Access Key) HETZNER_S3_SECRET_KEY = (dein S3 Secret) ``` ## Schritt 7: Erste Test-Ausführung ```bash # Manuell triggern (nicht warten auf 02:00 Uhr): # In Kestra UI: automation → backup-provision → Execute # Oder via API: curl -X POST https://kestra.pve.mbo-tech-it.de/api/v1/namespaces/automation/flows/backup-provision/executions \ -H "Content-Type: application/json" ``` Logs anschauen: ```bash # SSH auf Backup-Server journalctl -u mbo-rclone-sync -f # SSH auf Client journalctl -u mbo-backup -f tail -f /var/log/mbo-backup/*.log ``` ## Schritt 8: Überprüfe Backup-Status ```bash # Auf Backup-Server ssh backup@backup01.mbotechit.de # Zeige alle Borg Repos ls -la /backup/repos/ # Zeige Archive eines Systems borg list /backup/repos/SERVERNAME # Zeige Größe & Statistik borg info /backup/repos/SERVERNAME ``` ## Schritt 9: Überprüfe S3-Sync ```bash # SSH auf Backup-Server ssh root@backup01.mbotechit.de # Manuelle Rclone Sync sudo -u backup rclone sync --progress \ /backup/repos hetzner:mbo-backups/production/repos # Überprüfe S3 Bucket sudo -u backup rclone ls hetzner:mbo-backups/production/repos ``` ## Schritt 10: Automatisierung starten In Kestra UI: 1. Öffne **automation** → **backup-provision** 2. Überprüfe Schedule: `0 2 * * *` (täglich 02:00) 3. Überprüfe, dass Enabled = `true` 4. Speichern Jetzt läuft das System automatisch täglich! 🚀 --- ## Troubleshooting ### SSH-Fehler? ```bash # Test SSH vom Client zum Backup-Server ssh -i /root/.ssh/mbo-backup-key.ed25519 \ backup@backup01.mbotechit.de "echo OK" # Falls Fehler: SSH-Key regenerieren ssh-keygen -t ed25519 -N '' -f /root/.ssh/mbo-backup-key.ed25519 ``` ### Borg nicht installiert? ```bash # Manuell auf Host: apt install -y borgbackup # Oder via Ansible: ansible-playbook -i inventory.ini \ ansible/playbooks/install-borg-client.yaml ``` ### Rclone S3 Fehler? ```bash # Teste S3 Verbindung sudo -u backup rclone ls hetzner:mbo-backups/ # Falls Fehler: Config prüfen sudo -u backup rclone config show hetzner ``` --- ## Nächste Schritte - [ ] Setup-Checkliste durcharbeiten (SETUP_CHECKLIST.md) - [ ] Architektur verstehen (ARCHITECTURE.md) - [ ] Restore-Test durchführen (README.md → Restore-Proceduren) - [ ] Monitoring einrichten (optional) - [ ] Team trainieren --- **Version**: 1.0 **Supportiert**: Linux, Proxmox, Docker **Fragen?** Siehe README.md oder ARCHITECTURE.md