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.

¡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?

¿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.

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.

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.

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?

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