Come posso ospitare più di un forum Discourse su 1 VPS?

Ciao! Mi chiedevo se potessi ospitare più di un Discourse su un singolo VPS. Dato che sono un principiante, potrei per favore ricevere istruzioni chiare e passo dopo passo? Grazie.

Sì, puoi farlo!

Tuttavia, si tratta di un argomento avanzato; dovrai conoscere questi concetti di base:

  • Cos’è un reverse proxy?
  • Quale reverse proxy dovrei usare?
  • Come configuro un host virtuale su un reverse proxy?
  • Come configuro un host virtuale come reverse proxy per la mia applicazione web?
  • Come configuro un’applicazione web per funzionare con un reverse proxy?
  • Come configuro SSL quando si utilizza un reverse proxy.

@Aiden12114, sei familiare con questi concetti?

Se sì, sei pronto a partire, sicuramente!

Purtroppo, non ho idea di cosa significhi tutto ciò :rofl:

Hai due opzioni:

  • Multisito: più complesso Multisite configuration with Docker
  • Più container: leggermente più complesso (richiede un reverse proxy, ecc., come menzionato sopra), più costoso.
    Segui le istruzioni per configurare Discourse senza lo script ./discourse-setup (cp samples/standalone.yml containers/app2.yml) e rinomina i volumes con un nome diverso da standalone.

Credo sia importante condividere alcuni fatti tecnici con chiunque sia interessato o debba prendere una decisione al riguardo:

  • Un singolo contenitore Discourse con più “siti” per contenitore, oppure
  • Più contenitori per ciascun “sito” Discourse.

Se utilizzi l’approccio “singolo contenitore, multisito” e hai 5 siti Discourse attivi (o anche 10), quando ricostruisci il tuo contenitore o riscontri un problema con il contenitore per qualsiasi motivo, avrai 5 (o 10) siti Discourse che falliscono (o vanno offline) contemporaneamente. Questo perché hai un unico contenitore che supporta tutti i “siti”.

Se utilizzi l’approccio “più contenitori” e hai 5 siti Discourse attivi (o 10), quando ricostruisci un contenitore per uno dei tuoi siti o riscontri un problema con un contenitore sito per qualsiasi motivo, avrai 1 sito Discourse che fallisce (o va offline). Questo perché hai un unico contenitore che supporta un singolo “sito” (o due se esegui contenitori separati per dati e applicazione per sito, come facciamo noi).

Inoltre, dato che Docker sovrappone e condivide tutti i livelli di sola lettura per ciascun contenitore (utilizzando il driver di archiviazione Docker consigliato, overlay2) tra i contenitori; solo un sottile livello di sovrapposizione in lettura/scrittura è unico per ogni contenitore (per file di log, cache, ecc.), l’utilizzo di più contenitori non richiede molto spazio su disco aggiuntivo grazie al funzionamento di OverlayFS.

Per ulteriori informazioni su questo interessante argomento relativo al funzionamento del driver overlay di Docker (e alla condivisione delle librerie tra i contenitori), ti invitiamo a consultare:

Ovviamente, la scelta spetta a ciascun amministratore di sistema su quale approccio adottare. Sulla base della nostra analisi, abbiamo scelto di optare sempre per l’approccio a più contenitori; per i motivi esposti sopra (e per alcuni motivi ancora da discutere).

Spero sia utile.