Μετάβαση στο περιεχόμενο

Διαμόρφωση

Αυτή η σελίδα καλύπτει τις μεταβλητές περιβάλλοντος του container, τις προσαρτήσεις που παρέχει το template, το αντίγραφο VM μέσω SSH, και τη ρύθμιση εκτός τόπου. Οι διαδρομές αποθετηρίου των αντιγράφων διαμορφώνονται μέσα στην εφαρμογή (Ρυθμίσεις, Διαδρομές αντιγράφων), όχι μέσω μεταβλητών περιβάλλοντος.

Μεταβλητές περιβάλλοντος

Μεταβλητή Απαιτείται Περιγραφή
APP_KEY Ναι Δεκαεξαδικό μυστικό 32 byte (64 δεκαεξαδικοί χαρακτήρες) που χρησιμοποιείται για την παραγωγή του κωδικού του αποθετηρίου restic. Δημιουργήστε το με openssl rand -hex 32. Κρατήστε το ασφαλές: η απώλειά του καθιστά τα κρυπτογραφημένα αντίγραφα μη ανακτήσιμα.
LIBVIRT_HOST Για VMs Ο host Unraid που προσεγγίζεται μέσω SSH για το αντίγραφο VM (προεπιλογή host.docker.internal· το template προσυμπληρώνει ένα placeholder LAN-IP). Χρησιμοποιήστε τη LAN IP του Unraid σας, απαιτείται σε ένα προσαρμοσμένο δίκτυο br0.x.
LIBVIRT_SSH_PORT Όχι Η θύρα SSH του host για το αντίγραφο VM (προεπιλογή 22).
LIBVIRT_SSH_USER Όχι Ο χρήστης SSH στον host για το αντίγραφο VM (προεπιλογή root).
PORT Όχι Θύρα HTTP (προεπιλογή 3000· χρησιμοποιείται μόνο με HTTP_ONLY=true).
HTTPS_PORT Όχι Θύρα HTTPS (προεπιλογή 3443· το template τη δημοσιεύει 1:1, οπότε το WebUI απαντά στο https://<ip>:3443).
HTTP_ONLY Όχι Ορίστε true για να απενεργοποιήσετε τον αυτο-υπογεγραμμένο listener HTTPS και να εξυπηρετείτε μόνο απλό HTTP (για χρήση πίσω από έναν reverse proxy που τερματίζει το TLS).
HOST_SOURCE_ROOT Όχι Η διαδρομή host που προσαρτάται ως Host Data (προεπιλογή /mnt). Το BombVault μεταφράζει τις πηγές bind-mount που αναφέρει το Docker σε διαδρομές κάτω από αυτή την προσάρτηση. Αλλάξτε το μόνο αν προσαρτήσατε διαφορετική ρίζα host.
BOMBVAULT_SELF_CONTAINER Όχι Το όνομα του ίδιου του container BombVault, ώστε να μη δημιουργεί ποτέ αντίγραφο (και άρα να μη σταματά) τον εαυτό του (προεπιλογή BombVault· εντοπίζεται αυτόματα μέσω του hostname σε bridge networking).
BACKUP_MAX_HOURS Όχι Οι μέγιστες ώρες πραγματικού χρόνου που μια μεμονωμένη εκτέλεση αντιγράφου μπορεί να κρατά το κλείδωμα του τομέα της πριν ακυρωθεί με τη βία (μια δικλείδα ώστε μια κολλημένη εκτέλεση να μη μπορεί να μπλοκάρει τον τομέα για πάντα). Κενό (η προεπιλογή) χρησιμοποιεί 48. Ανεβάστε το για πολύ μεγάλα ή αργά αντίγραφα cloud (μια εκτέλεση που ακυρώνεται στο όριο αποτυγχάνει με context deadline exceeded). Ορίστε 0 για να απενεργοποιήσετε εντελώς το όριο.
TZ Όχι Ζώνη ώρας για τον χρονοπρογραμματιστή (για παράδειγμα Europe/Berlin).

Προσαρτήσεις

Προσαρτήστε το Docker socket, το flash (/boot) και τη ρίζα Host Data (/mnt) όπως φαίνεται στο template CA. Οι πηγές και οι προορισμοί των αντιγράφων βρίσκονται και οι δύο κάτω από το Host Data, και προσαρτάται rslave ώστε ένας απομακρυσμένος κοινόχρηστος πόρος που προσαρτάται αφού ξεκινήσει το container (για παράδειγμα κάτω από το /mnt/remotes) να γίνεται ορατός χωρίς επανεκκίνηση.

Οι διαδρομές αποθετηρίου των αντιγράφων έχουν προεπιλογή /mnt/user/bombvault/{container,vms,flash,config,files}, που δημιουργούνται στο πρώτο αντίγραφο. Αλλάξτε την τοποθεσία οποιαδήποτε στιγμή στις Ρυθμίσεις, Διαδρομές αντιγράφων.

Έλεγχος ενσωμάτωσης host

Ανοίξτε το /spike στο περιβάλλον ιστού αφού ξεκινήσει το container. Ανιχνεύει κάθε προσάρτηση και CLI (Docker socket, libvirt, restic, qemu-img, rclone) και αναφέρει τυχόν κομμάτια που λείπουν.

Μοντέλο ασφαλείας

Έλεγχος του host ισοδύναμος με root

Μέσω του Docker socket το BombVault μπορεί να διακόψει, να αφαιρέσει και να αναδημιουργήσει containers και να διαβάσει/γράψει appdata, και για το αντίγραφο VM συνδέεται στον host μέσω SSH (qemu+ssh://, root εξ ορισμού) για να εκτελέσει virsh. Όποιος μπορεί να φτάσει στο περιβάλλον ιστού του έχει ουσιαστικά root στον host.

  • Προαιρετική προστασία με κωδικό (Ρυθμίσεις, Ασφάλεια): ορίστε έναν κωδικό για να απαιτείται σύνδεση, καθαρίστε τον για να την απενεργοποιήσετε. Ανενεργή εξ ορισμού για χρήση σε αξιόπιστο LAN. Οι συνεδρίες υπογράφονται (HMAC παραγόμενο από το APP_KEY) και η αλλαγή του κωδικού τις ακυρώνει· οι συνδέσεις έχουν όριο ρυθμού.
  • Επειδή η πύλη είναι προαιρετική, όταν δεν έχει οριστεί όλο το περιβάλλον ιστού και το API (συμπεριλαμβανομένης της ρύθμισης εκτός τόπου, των διαδρομών tamper-test και του κιτ ανάκτησης) είναι προσβάσιμα από οποιονδήποτε μπορεί να φτάσει στη θύρα. Ενεργοποιήστε την πύλη μόλις χρησιμοποιηθούν εκτός τόπου, αμετάβλητα αντίγραφα ή κρυπτογράφηση.
  • Εκτελείτε το BombVault μόνο σε ένα αξιόπιστο, μη εκτεθειμένο δίκτυο. Για απομακρυσμένη πρόσβαση τοποθετήστε το πίσω από έναν reverse proxy που προσθέτει αυθεντικοποίηση και TLS. Οι αποκρίσεις φέρουν βασικές κεφαλίδες ασφαλείας (CSP, nosniff, X-Frame-Options, Referrer-Policy).
  • Με HTTP_ONLY=true το cookie συνεδρίας χάνει τη σημαία Secure του (αναγκαστικά, για να λειτουργεί μέσω απλού HTTP), οπότε ενεργοποιήστε τον κωδικό πίσω από έναν proxy που τερματίζει το TLS μόνο αν έχει σημασία η εμπιστευτικότητα.
  • Η σύνδεση SSH του αντιγράφου VM εμπιστεύεται το κλειδί host στην πρώτη σύνδεση (TOFU) και το καρφιτσώνει έκτοτε. Επαληθεύστε το κλειδί του host εκτός ζώνης αν η διαδρομή container-προς-host σας δεν είναι αξιόπιστη.
  • Τα αντίγραφα κρυπτογραφούνται από το restic όταν η κρυπτογράφηση είναι ενεργή (Ρυθμίσεις· ενεργή εξ ορισμού), με το κλειδί παραγόμενο από το APP_KEY.

Αντίγραφο VM μέσω SSH

Το BombVault δημιουργεί αντίγραφα των KVM/libvirt VMs χωρίς να προσαρτά καμία διαδρομή libvirt. Εκτελεί virsh στον host μέσω SSH (qemu+ssh://), οπότε δεν μπορεί ποτέ να επηρεάσει τον VM Manager του host σας.

Γρήγορη ρύθμιση:

  1. Ρυθμίσεις, Σύστημα, VM Backup over SSH: αντιγράψτε το εμφανιζόμενο δημόσιο κλειδί.
  2. Προσαρτήστε το στο /root/.ssh/authorized_keys του Unraid (επίσης διατηρείται στο flash ώστε να επιβιώνει των επανεκκινήσεων).
  3. Κάντε κλικ στο Test connection.

Το template προσθέτει --add-host=host.docker.internal:host-gateway ώστε το container να μπορεί να φτάσει τον host. Ορίστε το LIBVIRT_HOST στη LAN IP του Unraid σας αν αυτό το όνομα δεν επιλύεται (για παράδειγμα όταν το container εκτελείται σε ένα προσαρμοσμένο δίκτυο br0.x). Αν αλλάξατε τη θύρα SSH του Unraid, ορίστε το LIBVIRT_SSH_PORT αναλόγως. Τα ζωντανά στιγμιότυπα χρειάζονται επιπλέον τον qemu guest agent στη VM και τον δίσκο στο /mnt/cache (όχι στο /mnt/user).

Πλήρης οδηγός ρύθμισης VM και δικτύου

Ο πλήρης βήμα-προς-βήμα οδηγός (ενεργοποίηση SSH, μόνιμη εξουσιοδότηση κλειδιού, δρομολόγηση προσαρμοσμένου δικτύου και VLAN, μέθοδος ανά VM και αντιμετώπιση προβλημάτων από την πλευρά του host) βρίσκεται στο docs/vm-backup-ssh-setup.md στο GitHub.

Ρύθμιση εκτός τόπου

Ρυθμίστε ένα αντίγραφο εκτός τόπου στην καρτέλα Ρυθμίσεις, Off-site. Δείτε Εκτός τόπου & ανάκτηση για την πλήρη ροή εργασίας (αμετάβλητο/append-only, δοκιμή αλλοίωσης και δοκιμές DR). Εν συντομία:

  • Backends: SMB/CIFS και NFS (προσαρτήστε τον κοινόχρηστο πόρο και κατευθύνετε μια Backup Path σε αυτόν), εγγενή backend του restic χωρίς rclone (s3:..., rest:http://host:8000/repo, b2:..., sftp:user@host:/repo), ή οποιοδήποτε remote rclone (rclone:<remote>:<bucket>/path).
  • Τα διαπιστευτήρια cloud αποθηκεύονται κρυπτογραφημένα στις Ρυθμίσεις, Off-site, Cloud credentials.
  • Οι στόχοι SSH δεν χρειάζονται τίποτα εγκατεστημένο στην απέναντι πλευρά. Το sftp: χρειάζεται μόνο έναν διακομιστή SSH. Προσθέστε το δημόσιο κλειδί από Ρυθμίσεις, Σύστημα, VM Backup over SSH (επίσης στο /config/ssh/id_ed25519.pub) στο ~/.ssh/authorized_keys του χρήστη στόχου.
  • Αντίγραφο εκτός τόπου: το BombVault αναπαράγει νέα στιγμιότυπα με restic copy σε βάση βέλτιστης προσπάθειας. Το τοπικό αποθετήριο παραμένει το κύριο. Κάθε τομέας έχει το δικό του χρονοδιάγραμμα εκτός τόπου, συν ένα κουμπί Replicate now.
  • Πολλαπλοί στόχοι εκτός τόπου ανά τομέα: κάθε τομέας μπορεί να αναπαράγει σε πολλούς προορισμούς εκτός τόπου ταυτόχρονα. Προσθέστε επιπλέον στόχους στις Ρυθμίσεις, Off-site, τον καθένα με το δικό του αποθετήριο, κλάση αποθήκευσης S3, σημαία append-only, διατήρηση και προϋπολογισμό ανάπτυξης· όλοι αναπαράγουν στο χρονοδιάγραμμα εκτός τόπου εκείνου του τομέα. Μια υπάρχουσα μεμονωμένη ρύθμιση εκτός τόπου μεταφέρεται ως ο πρώτος στόχος.
  • Διατήρηση ανά πηγή: η τοπική πολιτική βρίσκεται στις Ρυθμίσεις, Διαδρομές & Αποθήκευση· η πολιτική εκτός τόπου στις Ρυθμίσεις, Off-site (αφήστε τη ολόκληρη μηδέν για να μην κλαδεύονται ποτέ αυτόματα τα στιγμιότυπα εκτός τόπου).
  • Όρια εύρους ζώνης: περιορίστε τον ρυθμό αποστολής/λήψης του restic στις Ρυθμίσεις, Off-site.
  • Κλάση ψυχρής και αρχειακής αποθήκευσης (S3): για ένα εγγενές αποθετήριο S3 εκτός τόπου, επιλέξτε ένα επίπεδο αναγνώσιμο κατά την επαναφορά (Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval). Τα remotes rclone ορίζουν την κλάση τους στη διαμόρφωση rclone.

Φορητές ρυθμίσεις (εξαγωγή και εισαγωγή)

Η κάρτα Εξαγωγή και εισαγωγή ρυθμίσεων στη σελίδα Ρυθμίσεων γράφει όλη τη διαμόρφωση BombVault σας (ρυθμίσεις τομέων, στόχους εκτός τόπου, χρονοδιαγράμματα, διατήρηση, ειδοποιήσεις) σε ένα φορητό αρχείο JSON που μπορείτε να εισάγετε σε μια άλλη εγκατάσταση, ώστε η μετακόμιση σε νέο μηχάνημα ή η κλωνοποίηση μιας εγκατάστασης να μη σημαίνει ότι πρέπει να τα εισάγετε όλα ξανά με το χέρι. Η εισαγωγή δείχνει μια προεπισκόπηση και ζητά επιβεβαίωση, και δεν αγγίζει ποτέ τα δεδομένα ή το ιστορικό των αντιγράφων σας.

Η εξαγωγή μπορεί να περιέχει διαπιστευτήρια

Επιλέγετε εσείς αν θα συμπεριλάβετε τα διαπιστευτήρια εκτός τόπου και ειδοποιήσεων στο αρχείο. Με τα διαπιστευτήρια συμπεριλαμβανόμενα, η εξαγωγή είναι εξίσου ευαίσθητη με το κιτ ανάκτησής σας, οπότε αποθηκεύστε την σε ασφαλές μέρος. Χωρίς αυτά, το αρχείο περιέχει μόνο μη-μυστικές ρυθμίσεις.