Spostamento dell'istanza di discourse su un nuovo server

Prima di chiedere, hai cercato? Premi :magnifying_glass_tilted_left: in alto a destra per cercare

Ciao,

Innanzitutto, voglio ringraziarti per qualsiasi supporto tu possa offrire. Detto questo, vorrei discutere del mio problema e poi dei miei obiettivi per la mia istanza Discourse self-hosted.

Problema

Attualmente utilizzo Hetzner come server che ospita un’istanza Discourse. Ho allegato volumi per Uploads e Backups. Gli attuali container e immagini Docker, così come app.yml e altro, sono ospitati sul server stesso sotto /var/discourse.

Ho questo server da 3-4+ anni e durante questo periodo ho sempre riscontrato problemi di spazio sul server stesso (non sui volumi). Ogni volta che volevo ricostruire l’app o riavviarla, riscontravo problemi di spazio poiché installava le immagini e i container Docker sul server locale anziché su un volume. Dovevo costantemente rimuovere Docker e qualsiasi immagine/container ed eseguire una reinstallazione pulita per poter ricostruire. Credo anche che i dati SQL siano collegati al server locale anziché a un volume.

Obiettivi

Non sono sicuro di quale sia la soluzione migliore per me in futuro. Si tratta di spostare cartelle o file specifici su un nuovo volume per il database Postgres e le immagini Docker, e in tal caso, gradirei supporto su come farlo? Oppure iniziare da zero con un server pulito, creando un backup del server e ripristinandolo su un nuovo server con tutti i volumi nelle posizioni correttamente configurate?


Detto tutto questo, gradirei supporto sulla configurazione di app.yml per avere correttamente i volumi per tutto ciò che occupa spazio, in modo da poter scalare individualmente quando backup, upload, db o immagini Docker, ad esempio, ne avranno bisogno.

Posso fornire il mio file app.yml più tardi oggi, poiché al momento sono al lavoro e voglio essere un passo avanti.

Eseguo l’hosting di Discourse su AWS e finora ho avuto molto successo nel mantenere /var/discourse su un proprio volume EBS montabile e nell’associare quel volume a diverse istanze EC2 man mano che ne ho avuto bisogno per migrare. Ho persino modificato completamente l’architettura da x64 ad ARM (sono passato da un t3a.large a un r7g.large di istanze EC2) e, dopo aver rimontato il volume /var/discourse, sono tornato online dopo un semplice launcher rebuild app, anche con il cambio di architettura.

In sintesi, se il tuo /var/discourse è archiviato in un volume montabile, allora hai l’intero stato del tuo forum in uno stato essenzialmente “swing-mountable”. Finché puoi configurare un host e installare Docker su di esso, puoi montare /var/discourse su di esso, eseguire un launcher rebuild app e essere operativo. (Supponendo che hostname e altre cose specificate in app.yml rimangano costanti tra gli host.)

Potresti fornire un esempio di app.yml per questa configurazione? Inoltre, è sufficiente spostare il contenuto da “/var/discourse” a un volume diverso o devo clonare il repository nel nuovo volume?


E per quanto riguarda i file del database?

Ecco una copia sanificata del mio attuale file di lavoro app.yml

E tutti i contenuti del DB sono memorizzati in /var/discourse? Quindi se sposto tutti i contenuti di /var/discourse in un volume montabile, continuerĂ  a utilizzare tutti i dati esistenti?

Sto usando l’installazione standard self-hosted a container singolo, quindi è tutto configurato secondo le impostazioni predefinite!

Domanda: anche se ho spostato la cartella /discourse su un volume montabile, ho ancora problemi con Docker. I container e le immagini vengono ancora eseguiti sull’unità locale invece che su un volume. Avete qualche idea su come risolvere questo problema?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.