Mostrare impostazioni diverse a seconda del dominio

Ciao,

Ho diversi prodotti online, ognuno dei quali vorrei avere la propria community online. Tuttavia, poiché questi prodotti sono interoperabili, molti dei miei clienti utilizzano più prodotti contemporaneamente.

Tenendo presente ciò, voglio utilizzare un’unica istanza di Discourse per tutti i miei prodotti, ma visualizzare un tema diverso per la community in base al dominio utilizzato per accedervi.

Ad esempio:

  • app1 → mostra il logo e i colori di App1
  • app2 → mostra il logo e i colori di App2

Inoltre, poiché tutti i thread devono essere etichettati in base al nome del prodotto, vorrei nascondere i thread con tag di altri prodotti. Ad esempio, nascondi #app1 se stai accedendo a app2.com.

Ciò dovrebbe accadere a meno che l’utente non scelga di sfogliare più community contemporaneamente.

Potrei usare qualsiasi aiuto; tuttavia, capisco che qualcosa del genere potrebbe non essere disponibile “out of the box”. Come sviluppatore, posso creare un plugin e scrivere codice JavaScript aggiuntivo per far sì che ciò accada.

Suppongo che il primo ostacolo sia consentire alla stessa istanza di Discourse di essere eseguita su più domini. Come posso iniziare con questo?

Avere le stesse informazioni su più siti è un problema per la SEO. Non lo consiglio. Ho un componente tema (penso rotto, ma lo sistemerò presto) che cambierà la home page a seconda del gruppo a cui appartiene qualcuno, così potresti impostare il loro gruppo in base a un campo personalizzato che ottieni quando creano il loro account per impostare la loro intera pagina sulla categoria del loro prodotto preferito.

Se non ti interessa che il tuo sito venga indicizzato, puoi guardare il template web_only che reindirizza e aggiungere al tuo yml per annullare ciò. Penso che Setup Multisite Configuration with Let’s Encrypt and no Reverse Proxy offra un esempio.