¿Esta configuración creará con éxito una segunda instancia de Discourse (con proxy)?

Estoy configurando un segundo sitio de Discourse en el mismo servidor y estoy utilizando un proxy inverso para gestionar el tráfico. No tengo mucha experiencia en el lado técnico, así que busco orientación para asegurarme de que todo esté configurado correctamente. A continuación, se muestra el archivo app1.yml que he utilizado para el nuevo contenedor.

Quiero saber si esta configuración me permitirá ejecutar dos instancias de Discourse en paralelo con éxito.

Configuración (app1.yml):

## esta es la plantilla del contenedor Docker de Discourse independiente todo en uno
##
## Después de realizar cambios en este archivo, DEBE reconstruir
## /var/discourse/launcher rebuild app1
##
## ¡TENGA MUCHO CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON SUPER SENSIBLES A ERRORES DE ESPACIO EN BLANCO O ALINEACIÓN!
## visite http://www.yamllint.com/ para validar este archivo según sea necesario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.socketed.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
image: discourse/discourse:latest

## ¿qué puertos TCP/IP debe exponer este contenedor?
## Si desea que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulte https://meta.discourse.org/t/17247 para obtener detalles
expose:
  #- "80"   # puerto HTTP interno
  #- "443"  # puerto HTTPS interno

params:
  db_default_text_search_config: "pg_catalog.english"
  db_shared_buffers: "2048MB"
  upload_size: 100m

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  DISCOURSE_DEFAULT_LOCALE: zh_CN
  DISCOURSE_FORCE_HTTPS: 'true'
  UNICORN_WORKERS: 8
  DISCOURSE_HOSTNAME: xxxx.com
  DISCOURSE_DEVELOPER_EMAILS: 'youremail@xxxx.com'
  DISCOURSE_SMTP_ADDRESS: xxxxx
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: your_smtp_username
  DISCOURSE_SMTP_PASSWORD: "your_smtp_password"
  DISCOURSE_NOTIFICATION_EMAIL: no-reply@xxxx.com
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
  DISCOURSE_MAXMIND_LICENSE_KEY: xxxxxxx

volumes:
  - volume:
      host: /var/discourse/shared/app1
      guest: /shared
  - volume:
      host: /var/discourse/shared/app1/log/var-log
      guest: /var/log

hooks:
  after_postgres:
    - exec: sudo -u postgres createdb discourse_app1 || exit 0
    - exec:
         stdin: |
           grant all privileges on database discourse_app1 to discourse;
         cmd: sudo -u postgres psql discourse_app1
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<EOF\nalter schema public owner to discourse;\nEOF'
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<EOF\ncreate extension if not exists hstore;\nEOF'
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<EOF\ncreate extension if not exists pg_trgm;\nEOF'

run:
  - exec: echo "Beginning of custom commands"
  - exec: echo "End of custom commands"

Dado que no estoy muy familiarizado con la codificación, ¡cualquier consejo o mejora para esta configuración sería muy apreciado!

Necesitas comentar estas dos líneas si estás usando un proxy inverso.

Además, probablemente sea mejor usar una configuración de dos contenedores para tener solo una base de datos, pero necesitas dos redis. También podrías considerar multisitio.

Configuración multisitio con Docker

Configuración de multisitio con Let’s Encrypt y sin proxy inverso

1 me gusta