Η διαδικασία του Discourse backup είναι εξαιρετικά απλή και αποτελεσματική, καθώς το Discourse διαθέτει ένα από τα καλύτερα ενσωματωμένα συστήματα αντιγράφων ασφαλείας.
Ακολουθούν τα βασικά σημεία που πρέπει να γνωρίζετε για να διασφαλίσετε το forum σας:
Δες περισσότερα άρθρα του iGuRu.gr όταν αναζητάς ειδήσεις στην Google.
Τι περιλαμβάνει (και τι ΔΕΝ περιλαμβάνει) το Backup
• Περιλαμβάνει: Όλη τη βάση δεδομένων PostgreSQL (χρήστες, θέματα, απαντήσεις, προσωπικά μηνύματα, ρυθμίσεις) και προαιρετικά όλα τα ανεβασμένα αρχεία και εικόνες (uploads). Το τελικό αρχείο είναι μορφής .tar.gz.
• ΔΕΝ περιλαμβάνει: Τον κώδικα της εφαρμογής και τα πρόσθετα (plugins). Αυτά ορίζονται στο αρχείο ρυθμίσεων του διακομιστή σας (app.yml).
• Το “Χρυσό Κλειδί”: Για να επαναφέρετε το forum σας από το μηδέν σε έναν νέο server, χρειάζεστε μόνο δύο πράγματα: το αρχείο .tar.gz του backup και το αρχείο app.yml.
Τοποθεσία Αποθήκευσης: Τοπικά και στο Cloud
Από προεπιλογή, τα backups αποθηκεύονται τοπικά στον server. Αν όμως πάθει κάτι ο server, θα τα χάσετε όλα.
Παρακάτω θα δούμε πως μπορείτε να συνδέσετε το Discourse με μια εξωτερική cloud υπηρεσία τύπου AWS S3, όπως το Cloudflare R2 το Backblaze B2 ή το DigitalOcean Spaces. Το Discourse θα στέλνει αυτόματα τα αντίγραφα ασφαλείας εκεί, κρατώντας το κεφάλι σας ήσυχο.
Μπορείτε να ρυθμίσετε το Discourse ώστε να αποθηκεύει τα αντίγραφα ασφαλείας (backups) στο Cloudflare R2 χρησιμοποιώντας τις ενσωματωμένες ρυθμίσεις συμβατότητας S3 του Discourse.
Βασικές Ρυθμίσεις (στο app.yml)
Συνδεθείτε στον server σας μέσω SSH και επεξεργαστείτε το αρχείο ρυθμίσεων:
Bash
cd /var/discoursenano containers/app.yml
Για να συνδέσετε το Cloudflare R2 σαν προορισμό S3 για τα backups ή τα uploads, προσθέτετε τις παρακάτω παραμέτρους στο αρχείο app.yml του Discourse:
• S3 API Keys: Στο Cloudflare R2, δημιουργείτε ένα API Token με δικαιώματα Object Read & Write στα συγκεκριμένα buckets (discourse-uploads και discourse-backups). Μπορείτε να το κάνετε από το Manage API keys όπως δείχνουμε παρακάτω.
• Συμβατότητα αρχείων: Παρόλο που υπήρξαν ιστορικά ζητήματα με τη διαχείριση συμπιεσμένων αρχείων (.tar.gz) στο R2, η Cloudflare έχει βελτιώσει τη συμβατότητα του S3 API και τα backups του Discourse ανεβαίνουν μια χαρά στο R2. • Uploads στα backups: Εάν χρησιμοποιείτε το R2 για αποθήκευση εικόνων/media, λάβετε υπόψη ότι τα uploads που βρίσκονται ήδη στο S3/R2 δεν περιλαμβάνονται εξ ορισμού στα βασικά database backups εκτός αν ενεργοποιηθεί η σχετική ρύθμιση DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true (η οποία μπορεί να αυξήσει τον χρόνο και το μέγεθος λήψης).
Δημιουργία R2 API Tokens στο Cloudflare
1. Συνδεθείτε στο Cloudflare Dashboard.
2. Στο αριστερό μενού, επιλέξτε R2.
3. Στα δεξιά της οθόνης, κάντε κλικ στο σύνδεσμο Manage API Keys.
4. Πατήστε το κουμπί Create API Token.
5. Ρυθμίστε το Token ως εξής:
• Token name: Πληκτρολογήστε ένα όνομα (π.χ. discourse).
• Permissions: Επιλέξτε οπωσδήποτε Object Read & Write.
• Bucket scoping: Επιλέξτε All buckets ή επιλέξτε συγκεκριμένα το bucket που φτιάξατε για το Discourse.
6. Πατήστε Create API Token.
7. Αντιγράψτε αμέσως τα εξής στοιχεία (δεν θα εμφανιστούν ξανά):
• Access Key ID (Αντιστοιχεί στο DISCOURSE_S3_ACCESS_KEY_ID)
• Secret Access Key (Αντιστοιχεί στο DISCOURSE_S3_SECRET_ACCESS_KEY)
• Account ID (Εμφανίζεται στην ίδια σελίδα, απαραίτητο για το Endpoint URL)
Rebuild του Discourse
Για να εφαρμοστούν οι αλλαγές και να διαβαστούν οι νέες μεταβλητές περιβάλλοντος, πρέπει να κάνετε rebuild το container:
0 σχόλια
iGuRu.gr