Я настраиваю второй сайт Discourse на том же сервере и использую обратный прокси для управления трафиком. У меня не очень большой опыт в технических вопросах, поэтому я ищу рекомендации, чтобы убедиться, что всё настроено правильно. Ниже приведён файл app1.yml, который я использовал для нового контейнера.
Хочу узнать, позволит ли такая конфигурация успешно запустить два экземпляра Discourse параллельно.
Конфигурация (app1.yml):
## это шаблон контейнера Discourse «всё в одном» для автономного запуска
##
## После внесения изменений в этот файл ОБЯЗАТЕЛЬНО выполните пересборку
## /var/discourse/launcher rebuild app1
##
## БУДЬТЕ *ОЧЕНЬ* ОСТОРОЖНЫ ПРИ РЕДАКТИРОВАНИИ!
## YAML-ФАЙЛЫ ЧРЕЗВЫЧАЙНО ЧУВСТВИТЕЛЬНЫ К ОШИБКАМ В ПРОБЕЛАХ И ВЫРАВНИВАНИИ!
## Для проверки файла используйте http://www.yamllint.com/
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
## какие TCP/IP-порты должен открывать этот контейнер?
## Если вы хотите, чтобы Discourse использовал один порт с другим веб-сервером, например Apache или nginx,
## см. https://meta.discourse.org/t/17247 для деталей
expose:
#- "80" # внутренний HTTP-порт
#- "443" # внутренний HTTPS-порт
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: ваш_smtp_имя_пользователя
DISCOURSE_SMTP_PASSWORD: "ваш_smtp_пароль"
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 <<< "alter schema public owner to discourse;"'
- exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<< "create extension if not exists hstore;"'
- exec: /bin/bash -c 'sudo -u postgres psql discourse_app1 <<< "create extension if not exists pg_trgm;"'
run:
- exec: echo "Начало пользовательских команд"
- exec: echo "Конец пользовательских команд"
Так как я не очень хорошо разбираюсь в программировании, любые советы или предложения по улучшению этой конфигурации будут очень кстати!