REQ: Supporto backup S3 verso un servizio come Backblaze

Vorrei il supporto per il backup verso una destinazione Backblaze.

Al momento non riesco a impostare un endpoint come: s3.eu-central-003.backblazeb2.com

Solo nel caso non l’aveste già visto: Configure an S3 compatible object storage provider for uploads

Nope, non l’avevo fatto… Ora sì :slight_smile:

Ma poi, serve un dottorato per fare una cosa semplice. Per le future release, l’usabilità per gli amministratori potrebbe essere un problema.

Discourse ha molte funzionalità avanzate, ma sono anche troppo avanzate per essere usate da un utente medio (io ::slight_smile: )

A proposito - voglio solo che il backup venga archiviato in remoto rispetto al server.

Non è necessario caricare immagini ecc., che sono già archiviati su una CDN. Il mio forum non è così grande né ha un utilizzo così elevato…

È su un semplice droplet da 5 dollari…

Oh, allora dovrebbe essere abbastanza semplice. Tuttavia, se non è troppo grande, forse è meno complicato usare AWS S3? I loro prezzi non sono male per lo storage, ma sono un po’ caotici per la larghezza di banda.

Penso che tu debba solo inserire questo nel tuo app.yml con le informazioni corrette e ricostruire. Sta escludendo le parti relative agli upload degli utenti. Non avresti bisogno di includere l’altra parte after_assets_precompile del tutorial.

Basta accedere via SSH al tuo server come root e poi eseguire:
cd /var/discourse
nano containers/app.yml

Usa le frecce della tastiera per spostare il cursore e incolla le informazioni qui sotto sotto la parte del file che dice: #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  DISCOURSE_S3_REGION: "us-west-002"
  DISCOURSE_S3_INSTALL_CORS_RULE: false
  DISCOURSE_S3_ENDPOINT: https://s3.us-west-002.backblazeb2.com
  DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
  DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
  DISCOURSE_S3_BACKUP_BUCKET: falcoland-files/backup
  DISCOURSE_BACKUP_LOCATION: s3

Assicurati di aver inserito le informazioni corrette per la regione, l’endpoint, la chiave di accesso, la chiave segreta e il nome del bucket di backup.

Premi ctrl+o e conferma per salvare, poi premi ctrl+x per uscire. Quindi esegui:
./launcher rebuild app

Sono abbastanza sicuro che dovrebbe funzionare bene.

Visto che sei su Digital Ocean, sarebbe una buona idea fare un backup prima di farlo, così se qualcosa va storto il ripristino è facile.

Grazie per la descrizione @markersocial

Sono andato su https://secure.backblaze.com/b2_buckets.htm e ho creato un nuovo bucket

Poi sono andato su App Keys per creare una nuova chiave di applicazione per l’accesso

Dopo la creazione, ricevi temporaneamente un’informazione come quella qui sotto: tieni presente che la vedi solo una volta:

Basandomi su questo, ho utilizzato:

DISCOURSE_S3_REGION: “s3.eu-central-003”
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_ENDPOINT: https://s3.eu-central-003.backblazeb2.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_BACKUP_BUCKET: my_buckets_Name
DISCOURSE_BACKUP_LOCATION: s3

Poi ho eseguito un rebuild dopo aver creato uno snapshot del mio droplet su Digital Ocean

./launcher rebuild app

Successivamente sono andato su /admin/backups e ho creato un backup

[2020-08-27 09:25:57] Creazione dell’archivio: studmed-dk-2020-08-27-092518-v20200820232017.tar.gz
[2020-08-27 09:25:57] Verifica che l’archivio non esista già…
[2020-08-27 09:25:57] pg_dump: esecuzione SEQUENCE SET topic_allowed_users_id_seq
[2020-08-27 09:25:57] Creazione di un archivio vuoto…
[2020-08-27 09:25:57] Archiviazione del dump dei dati…
[2020-08-27 09:25:59] Archiviazione degli upload…
[2020-08-27 09:26:06] Rimozione della cartella temporanea ‘/var/www/discourse/tmp/backups/default/2020-08-27-092518’…
[2020-08-27 09:26:06] Compressione gzip dell’archivio, ciò potrebbe richiedere del tempo…
[2020-08-27 09:26:31] Caricamento dell’archivio…
[2020-08-27 09:26:41] Esecuzione dell’hook after_create_hook per il backup…
[2020-08-27 09:26:41] Eliminazione dei backup vecchi…
[2020-08-27 09:26:41] Pulizia dei file…
[2020-08-27 09:26:41] Rimozione dell’archivio dall’archiviazione locale…
[2020-08-27 09:26:41] Rimozione dei residui ‘.tar’…
[2020-08-27 09:26:41] Segnalazione del backup come completato…
[2020-08-27 09:26:41] Aggiornamento delle statistiche del disco…
[2020-08-27 09:26:42] Notifica a ‘frold’ della fine del backup…
[2020-08-27 09:26:53] Completato!

Poi sono andato su Backblaze per verificare se fosse successo qualcosa:

Ti devo una :beers:

Ottimo lavoro! Se qualcun altro finisce qui, credo che se fornisci una chiave in grado di creare bucket, Discourse creerà persino il bucket per te.

Chiuso in quanto è supportato nativamente seguendo Utilizzo dell’archiviazione oggetti per i caricamenti (S3 e cloni)