Я могу описать вам точный процесс, который я использовал. Возможно, где-то в этом процессе я совершаю ошибку. Я полностью готов признать, что где-то допустил оплошность!
- Есть домен. Это discourse.domain.dev (домен, конечно, скрыт)
- Настроен почтовый аккаунт. У меня есть аккаунт Mailgun, поэтому я создал нового пользователя для SMTP. Адрес электронной почты: discourse@discourse.domain.dev
- Есть сервер. Это последняя версия Ubuntu (Jammy Jellyfish)
apt install docker.io— выполнено- Git уже был установлен
- Пользователь: root
- Клонирование через
git clone https://github.com/discourse/discourse_docker.git /var/discourse - Переход в директорию
cd /var/discourse chmod 700 containers- Всё ещё пользователь root
- Запуск
./discourse-setup - Ввод данных по запросу: discourse.domain.dev
- Email администратора Discourse: my@personal.email
- SMTP: smtp.eu.mailgun.org
- Порт SMTP: 587
- Имя пользователя: noreply@discourse.domain.dev
- Пароль пользователя: REDACTED
- Email для уведомлений: noreply@discourse.domain.dev
- Email для Let’s Encrypt: my@personal.email
- ID MaxMind: ввел
- Лицензионный ключ MaxMind: ввел
- Проверил введенные данные для настройки.
- Нажал Enter.
- Ждал.
- Ждал еще немного
- Заварил чай
- Последняя строка процесса bootstrap:
+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=8 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=discourse.domain.dev -e DISCOURSE_DEVELOPER_EMAILS=my@personal.email -e DISCOURSE_SMTP_ADDRESS=smtp.eu.mailgun.org -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=noreply@discourse.domain.dev -e DISCOURSE_SMTP_PASSWORD=b7fc73b0905b5ffb5f70300f1f796000-1b5736a5-0a60075a -e DISCOURSE_SMTP_DOMAIN=discourse.example.com -e DISCOURSE_NOTIFICATION_EMAIL=noreply@discourse.domain.dev -e LETSENCRYPT_ACCOUNT_EMAIL=my@personal.email -e DISCOURSE_MAXMIND_ACCOUNT_ID=REDACTED -e DISCOURSE_MAXMIND_LICENSE_KEY=REDACTED -h devsite -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address REDACTED local_discourse/app /sbin/boot REDACTEDLONGSTRING - Запустил
./discourse-doctor. Ошибка, так как не удалось подключиться к Redis. - Запустил
./launcher rebuild appи ничего не менял в конфигурации - Сборка прошла успешно. Всё в порядке. Единственное отличие — та самая скрытая длинная строка в конце.
- Запустил
./discourse-doctor. Я получил тестовое письмо. - Сайт был доступен, поэтому перешел к созданию учетной записи администратора.
- Нажал «Регистрация»
- Система сообщила, что отправляет уведомление на email.
- Письмо не пришло.
- Проверил через
./discourse-doctorи увидел следующее:
Discourse version at discourse.domain.dev: NOT FOUND Discourse version at localhost: NOT FOUND - Запустил
./launcher enter app - Запустил
rake admin:create - Ввел email: my@personal.email
- Сбросил пароль, так как пользователь уже существует
- Получил сообщение: «Ваша учетная запись теперь имеет права администратора!»
- Вошел на сайт по домену
- Перешел на discourse.domain.dev/logs — увидел сообщение: «Sidekiq heartbeat test failed, restarting»
- Перешел на discourse.domain.dev/sidekiq: увидел:
- Перешел к разделу «Enqueued»
- Нажал на «critical», раскрыл содержимое и снова увидел «to_address»=>nil.
Остановлюсь и обращусь за помощью.
Это полная пересборка на новой машине сегодня. Это ТЕ ЖЕ самые шаги, которые я использовал ранее. Пожалуйста, если я ошибся, дайте мне знать! ![]()
Настройка системы:
- CPU: 4 ядра
- RAM: 16 ГБ
- ОС: Ubuntu LTS 64-бит 24.04
- Хранилище: NVMe 500 ГБ
- Версия Postgres: 13.16-1
- Redis: 7.0.7
- Ruby: 3.3.4


