# Getting Started - Backup-Automation Setup Schnelleinstieg für MBO-Tech-IT Backup-Automation. ## Schritt 1: Repository klonen ```bash git clone https://gitea.pve.mbo-tech-it.de/jonny/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.pve.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@backup.pve.mbo-tech-it.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 vorbereiten ### In Netbox UI: 1. Gehe zu **Admin** → **Extras** → **Tags** 2. Klicke **Add Tag** 3. Setze: - **Name**: `backup` - **Slug**: `backup` - **Color**: Orange ### Systeme taggen: 1. Gehe zu **DCIM** → **Devices** 2. Für jedes zu backupendes System: - Öffne Device - Unter **Tags** → `backup` hinzufügen - Save Oder via API: ```bash DEVICE_ID=123 curl -X PATCH https://netbox.pve.mbo-tech-it.de/api/dcim/devices/$DEVICE_ID/ \ -H "Authorization: Token $NETBOX_TOKEN" \ -H "Content-Type: application/json" \ -d '{"tags": [{"name": "backup"}]}' ``` ## 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.pve.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@backup.pve.mbo-tech-it.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@backup.pve.mbo-tech-it.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@backup.pve.mbo-tech-it.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