Varias preguntas sobre instalación multisitio

Me preguntaba qué hace el valor db_id: 2 en la configuración sugerida anteriormente.

Además, ¿cuál es el procedimiento para añadir un nuevo sitio a la configuración multisitio existente? ¿Es solo:

  • Actualizar yaml
  • ./launcher bootstrap multisite [1]
  • ./launcher start multisite

Me preguntaba si había alguna forma de evitar afectar a todos los demás sitios existentes al hacer un bootstrap o reconstrucción completa y de alguna manera solo añadir la base de datos adicional necesaria.


  1. Intenté ./launcher rebuild multisite primero, pero parece fallar. ↩︎

Creo que el id de la base de datos ya no es necesario.

Puedes editar el archivo multisite con el nuevo sitio y hacer un

sv restart unicorn

Y luego migrar la base de datos.

1 me gusta

¡Eres un salvavidas!

Me faltaba este comando para reiniciar (también probé sv reload unicorn pero de alguna manera no fue suficiente).

En cuanto a la creación de la base de datos, ¿ya existe una forma de hacerlo automáticamente? Sería bueno tener rake db:create[mynewdbname]. De lo contrario, puedo escribir un script corto.

En este momento, creo manualmente (creo la base de datos y establezco los permisos) y luego hago un RAILS_DB=newdb rake db:migrate para poblarla.

Y solo para comprobar si estoy haciendo algo estúpido:

  • Por el momento, estoy editando el archivo multisite dentro de docker (/var/www/discourse/config/multisite.yml)
  • Creando la base de datos manualmente
  • Ejecutando rake db:migrate
  • sv restart unicorn
  • Luego también tengo que editar el archivo yaml fuera de docker para que la configuración multisite esté sincronizada en caso de cualquier reconstrucción o actualización futura.

¿Estoy siendo tonto al editar la configuración multisite en 2 lugares diferentes cuando ya existe una forma de editar en un solo lugar y aplicar los cambios?

1 me gusta

¿Es posible limpiar un poco esta documentación y proporcionar más indicaciones en ella? Soy extremadamente nuevo en Docker, y aunque tengo experiencia en servidores Linux, no soy un profesional en ello. Soy de la vieja escuela, me encantan mis cron jobs y scripts de shell y cosas raras como esas con Apache multisite, etc. Pero esto es un poco más complejo y utiliza un lenguaje de programación diferente al que estoy acostumbrado… ¿Quizás incluso un video de demostración de algún tipo? Sería bueno si Discourse estuviera listo para multisite y de esa manera solo tendrías que editar algunos archivos, etc.

2 Me gusta

Simplemente pega esa estrofa de texto y edítala según sea necesario.

También necesitarás un proxy inverso o seguir Configurar Let’s Encrypt con múltiples dominios / redirecciones para obtener certificados para todos los dominios.

Consulta también Configuración de multisitio con Let’s Encrypt y sin proxy inverso. Pero esa necesita ser actualizada para tener otra línea requerida que puedes obtener del enlace anterior. He estado queriendo actualizarla pero no he podido.

1 me gusta

Si estoy haciendo multisitio, ¿a dónde debo apuntar mi dominio? ¿A la misma IP que el servidor (que aloja otro foro)?

Sí, apunta todos los dominios a la misma IP del servidor.
Configura un proxy inverso con el servidor Nginx o Caddy.
Caddy es el mejor, ya que proporciona certificados SSL automáticos gratuitos para todos tus dominios.

1 me gusta

Seguí este tutorial para configurar con éxito una instalación multisitio con Docker. Recientemente me encontré con un error al intentar actualizar y creo que la línea:

    - exec: cd /var/www/discourse & sudo -E -u discourse bundle exec rake multisite:migrate

Debería editarse a:

    - exec: cd /var/www/discourse & sudo -H -E -u discourse bundle exec rake multisite:migrate

¿Alguien podría confirmar/editar el tutorial?

1 me gusta

Sí. Yo también me encontré con esto. Querrás hacer ese cambio de lo contrario, tu arranque fallará.

2 Me gusta