tweaks

Discourse backup στο Cloudflare R2

3 λεπτά ανάγνωσης

Η διαδικασία του Discourse backup είναι εξαιρετικά απλή και αποτελεσματική, καθώς το Discourse διαθέτει ένα από τα καλύτερα ενσωματωμένα συστήματα αντιγράφων ασφαλείας.

Ακολουθούν τα βασικά σημεία που πρέπει να γνωρίζετε για να διασφαλίσετε το forum σας:

Δες περισσότερα άρθρα του iGuRu.gr όταν αναζητάς ειδήσεις στην Google.

clouflare r2

Τι περιλαμβάνει (και τι ΔΕΝ περιλαμβάνει) το 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/discourse
nano containers/app.yml

Για να συνδέσετε το Cloudflare R2 σαν προορισμό S3 για τα backups ή τα uploads, προσθέτετε τις παρακάτω παραμέτρους στο αρχείο app.yml του Discourse:

YAML
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: "auto" 
DISCOURSE_S3_ENDPOINT: "https://.r2.cloudflarestorage.com"
DISCOURSE_S3_ACCESS_KEY_ID: "το-r2-access-key-id"
DISCOURSE_S3_SECRET_ACCESS_KEY: "το-r2-secret-access-key"
DISCOURSE_S3_BUCKET: "discourse"
DISCOURSE_S3_BACKUP_BUCKET: "discourse"
DISCOURSE_BACKUP_LOCATION: "s3"

Σημαντικές λεπτομέρειες και περιορισμοί:

• S3 API Keys: Στο Cloudflare R2, δημιουργείτε ένα API Token με δικαιώματα Object Read & Write στα συγκεκριμένα buckets (discourse-uploads και discourse-backups). Μπορείτε να το κάνετε από το Manage API keys όπως δείχνουμε παρακάτω.

2026 10 22 13 03 51
• Συμβατότητα αρχείων: Παρόλο που υπήρξαν ιστορικά ζητήματα με τη διαχείριση συμπιεσμένων αρχείων (.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:

Bash
./launcher rebuild app

Αυτό ήταν δοκιμάστε το πρώτο σας backup

3 λεπτά ανάγνωσης

0 σχόλια

iGuRu.gr
Μέλος του forum; Συμμετέχετε στη συζήτηση στο forum. Συζήτηση στο forum →

Συμμετέχετε στη συζήτηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:

  1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
  2. Προκαλεί βλάβη σε ανηλίκους.
  3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
  4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους.
  5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).