Esta configuração criará com sucesso uma segunda instância do Discourse (com proxy)?

Estou configurando um segundo site Discourse no mesmo servidor e estou usando um proxy reverso para gerenciar o tráfego. Não tenho muita experiência com o lado técnico das coisas, então estou procurando algumas orientações para garantir que tudo esteja configurado corretamente. Abaixo está o arquivo app1.yml que usei para o novo contêiner.

Quero saber se esta configuração permitirá que eu execute duas instâncias do Discourse em paralelo com sucesso.

Configuração (app1.yml):

## este é o modelo de contêiner Docker do Discourse, autônomo e tudo-em-um
##
## Após fazer alterações neste arquivo, você DEVE reconstruir
## /var/discourse/launcher rebuild app1
##
## TENHA *MUITO* CUIDADO AO EDITAR!
## ARQUIVOS YAML SÃO SUPER SENSÍVEIS A ERROS DE ESPAÇAMENTO OU ALINHAMENTO!
## visite http://www.yamllint.com/ para validar este arquivo conforme necessário

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

## quais portas TCP/IP este contêiner deve expor?
## Se você quiser que o Discourse compartilhe uma porta com outro servidor web como Apache ou nginx,
## veja https://meta.discourse.org/t/17247 para detalhes
expose:
  #- "80"   # porta HTTP interna
  #- "443"  # porta HTTPS interna

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
alter schema public owner to discourse;
EOF'
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<EOF
create extension if not exists hstore;
EOF'
    - exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<EOF
create extension if not exists pg_trgm;
EOF'

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

Como não sou muito familiarizado com codificação, qualquer conselho ou melhoria para esta configuração seria muito apreciado!

Você precisa comentar essas duas linhas se estiver usando um proxy reverso.

Além disso, provavelmente é melhor usar uma configuração de dois contêineres para ter apenas um banco de dados, mas você precisa de dois redis. Você também pode considerar multisite.

Configuração multisite com Docker

Configuração multisite com Let’s Encrypt e sem proxy reverso

1 curtida