Un server per 2 community Discourse?

Giusto. Ha senso. E penso che per me andare con Mailgun andrebbe bene.

Capirò tutto questo meglio quando inizierò a configurare un multisito!

3 Mi Piace

Intervengo perché mi trovo in una situazione simile a quella di @alltiagocom: ho installato Discourse su un server Hetzner di dimensioni ridotte per la mia community principale, ma sto pensando, in background, di spostare alcuni altri gruppi Facebook su Discourse una volta che avrò preso confidenza con la piattaforma.

Ho familiarità con il « multisito di Wordpress », ma ho capito che il multisito di Discourse è più complesso. Mi chiedevo cosa sarebbe meno problematico: gestire due siti autonomi (o più) o un multisito.

Qualcuno ha qualche informazione a riguardo?

Multisito comporterebbe sicuramente meno overhead di manutenzione, quindi meno grattacapi, ma your mileage may vary (YMMV).

1 Mi Piace

Per i neofiti di Discourse, consiglio di gestire solo due siti.

Ho creato un argomento su come gestire multisito senza un proxy inverso, ma ora è obsoleto.

Penso che tutto ciò che deve cambiare sia

può essere sostituito con il nuovo

DISCOURSE_HOSTNAME_ALIASES: domain.com,other.domain.com
2 Mi Piace

A minha opinião, depois de passar o dia inteiro a trabalhar nisto com a ajuda das minhas notas antigas, ChatGPT, Claude, o Bot de IA do Discourse e alguns tópicos partilhados aqui (e depois de tomar notas e mais notas sobre todo o processo).

Tudo parecia estar a funcionar bem até chegar ao ponto em que precisava de adicionar o proxy inverso. A minha primeira instância, que estava a funcionar bem, deixou de funcionar. Perguntei mais algumas coisas ao bot de IA do Discourse, mas como é o meu primeiro dia, ele parou de funcionar. É uma limitação para os novos utilizadores do bot. O Claude, que estava a ser super útil, também parou, porque estou na versão gratuita. O ChatGPT é o menos fiável de todos, por isso todas as respostas dele são sempre recebidas por mim com MUITA hesitação…

Depois vim ao fórum novamente e comecei a ler alguns tópicos sobre isso, alguns escritos por @pfaffman. Foi a gota de água. Demasiado complexo, demasiados termos técnicos para eu sequer entender o que perguntar.

Resumo: a minha primeira instância estava a funcionar, por isso vou revertê-la ao estado anterior (editando o ficheiro app.yml para o que era antes das alterações). Estou a reconstruir enquanto escrevo.

Para ser honesto, dada toda a complexidade, embora me permitisse adicionar mais comunidades depois de superar o primeiro grande obstáculo, não acho que poupar 4 por mês para uma comunidade extra vá ser o fim do mundo. Como já sei como configurar um servidor na Hetzner e depois instalar o Discourse, vou manter-me em 2 comunidades agora, pagar os 8 por ambas e seguir em frente. Considerando que há alguns meses pagava 12 $ por um droplet na Digital Ocean, posso fazer o esforço de pagar o mesmo valor por 3 comunidades, se quiser.

Independentemente disso, acho sempre estas aventuras interessantes, porque aprendo algo novo pelo caminho, e no final, pelo menos posso dizer porque não quero fazê-lo, em vez de apenas dizer “Não o vou fazer, porque não sei se consigo fazê-lo”.

Agradeço o tempo e a ajuda que todos partilharam aqui, e espero que este tópico ajude outros que queiram alcançar o que eu estava a tentar.

:raising_hands:
Fim de transmissão!

8 Mi Piace

È esattamente per questo che ho detto che devi ripensare la tua strategia, mentre ciò che stavi cercando di ottenere non era impossibile, perché è già stato fatto, richiede una comprensione significativa del discorso per essere eseguito correttamente.

Ti consiglio di continuare a sperimentare nel tuo tempo libero se vuoi saperne di più su come funziona il discorso, è così che la maggior parte di noi qui l’ha imparato.

9 Mi Piace

Mi ci è voluto molto più tempo di quanto voglia ammettere per capirlo (per lo più)!

6 Mi Piace

6 messaggi sono stati spostati in un nuovo argomento: Contenitori di app multipli per un singolo sito Discourse

Sto documentando un’installazione multisito Discourse supportata come runbook comando per comando.

In precedenza ho sperimentato un approccio “installazioni standalone multiple su un unico server”, ma tale configurazione non è supportata. Questo post si concentra solo sull’architettura multisito supportata, riscritta in formato lineare per coloro che preferiscono passaggi espliciti.


Cosa è (supportato)

  • Un container dell’applicazione Discourse (app)
  • Multisito abilitato tramite multisite.yml
  • Postgres + Redis condivisi (gestiti da Discourse)
  • Connettività tramite socket Unix (nessuna rete Docker richiesta)
  • Nomi host multipli instradati a siti separati internamente

Cosa non è

  • Container Discourse indipendenti multipli dietro HAProxy
  • Ricostruzioni progressive drenando i nodi dell’app
  • Credenziali SMTP per sito (SMTP è condiviso)

Note operative (affinché le aspettative siano corrette)

Ricostruzioni / tempi di inattività

In multisito c’è un solo container app, quindi ./launcher rebuild app riavvierà l’unico nodo. Ciò significa che è previsto un breve tempo di inattività per tutti i siti.

Certificati / convalida host

Aggiungere tutti i nomi host a DISCOURSE_HOSTNAME_ALIASES in modo che Let’s Encrypt + la convalida host funzionino in modo affidabile.

Backup / migrazione successiva

Ogni sito crea il proprio backup in /admin/backups. Ripristinare un backup del sito su un’installazione standalone in seguito è il normale percorso di migrazione.


Runbook completo multisito supportato (comando per comando)

0) Prerequisiti host

Passo Comando
Aggiorna sistema apt-get update && apt-get upgrade -y
Installa dipendenze apt-get install -y git curl sudo

1) Installa Discourse Docker

Passo Comando
Clona repo git clone https://github.com/discourse/discourse_docker.git /var/discourse
Entra nella directory cd /var/discourse

2) Installa il primo sito (prima sito singolo)

Passo Comando
Esegui configurazione ./discourse-setup

Questo crea /var/discourse/containers/app.yml e avvia il primo nome host (es. forum1.example.com).


3) Abilita multisito

Passo Comando
Crea directory config mkdir -p /var/discourse/config
Modifica file multisite nano /var/discourse/config/multisite.yml

Esempio multisite.yml:

forum1:
  host_names:
    - forum1.example.com

forum2:
  host_names:
    - forum2.example.com

4) Modifica app.yml per abilitare multisite + alias hostname

Passo Comando
Modifica app.yml nano /var/discourse/containers/app.yml

Aggiungi:

  • DISCOURSE_MULTISITE: true
  • DISCOURSE_HOSTNAME_ALIASES: forum1.example.com,forum2.example.com

5) Ricostruisci

Passo Comando
Ricostruisci ./launcher rebuild app

6) Migra DB multisito

Passo Comando
Entra nel container ./launcher enter app
Esegui migrazione multisito rails multisite:migrate
Esci exit
Passo Comando
Riavvia ./launcher restart app

7) Verifica

Visita:

  • https://forum1.example.com
  • https://forum2.example.com

Ogni sito ha il proprio admin, utenti, caricamenti e backup.


8) Backup / migrazione successiva

Admin per sito:

  • /admin/backups

Ripristina quel backup su un’installazione standalone in seguito se vuoi separare il sito sul proprio server.


Se qualcosa di quanto sopra è in conflitto con le attuali best practice, sarò lieto di aggiornare questo runbook: l’intento è fornire una checklist multisito supportata lineare che riduca tentativi ed errori.

2 Mi Piace

Wow! Questa è la guida chiara di cui avevo bisogno per fare chiarezza nel mondo torbido del multisito!! Sembra in realtà molto fattibile e più semplice di quanto avessi immaginato.

È un po’ un peccato che possa essere fatto in un unico contenitore, ma capisco intuitivamente perché sia necessario. Di conseguenza, sarebbe più adatto a diversi forum self-hosted più piccoli e tranquilli.

La tua risposta merita sicuramente un argomento (wiki) tutto suo, e di essere ben segnalata.

2 Mi Piace

Potrebbe essere qualcosa per me :heart_eyes:

1 Mi Piace

Questo è applicabile anche quando Discourse è già in esecuzione come «sito singolo» e si desidera convertirlo in multisito?

Grazie mille per il lavoro!

1 Mi Piace

Grazie! Questo è ancora allineato con le attuali pratiche supportate per siti multipli: nulla qui è in conflitto con il modo in cui funziona oggi il multisito di Discourse.

Sì, gli stessi passaggi si applicano quando si converte un’installazione esistente a sito singolo in sito multiplo: un sito singolo è di fatto un sito multiplo con un singolo sito predefinito. È possibile abilitare DISCOURSE_MULTISITE, aggiungere multisite.yml (incluso il sito esistente), ricostruire una volta ed eseguire rails multisite:migrate in loco.

Se c’è qualcosa qui che non riflette più le best practice, sono molto felice di aggiornare il runbook: l’obiettivo è una checklist lineare e supportata che eviti tentativi ed errori.

3 Mi Piace