Поскольку Discourse теперь поддерживает запуск на Raspberry Pi, развёртывание небольшого экземпляра в домашней лаборатории станет распространённым сценарием. Однако многие провайдеры домашнего интернета блокируют входящий трафик на порты 80/443, которые необходимы для работы Discourse.
Для нашего демонстрационного сайта по адресу https://discourse-on-a-pi.falco.dev/ мы использовали Cloudflare Tunnel для обхода этой проблемы, и вы тоже можете это сделать!
Настройка туннеля
Сначала следуйте следующей инструкции:
Единственное изменение, которое вам потребуется — заменить URL с url: http://localhost:8000 на url: http://localhost:80. Оставьте туннель запущенным в фоновом режиме.
Отключение Rocket Loader
Для корректной работы Discourse необходимо отключить Rocket Loader от Cloudflare.
Установка Discourse
Следуйте руководству Как установить Discourse в продакшн, но нажмите CTRL+C после создания файла app.yml, когда начнётся обратный отсчёт в 5 секунд.
Теперь отредактируйте первые несколько строк файла, чтобы они выглядели следующим образом:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/cloudflare.template.yml"
# - "templates/web.ratelimited.template.yml"
## Раскомментируйте эти две строки, если хотите добавить Lets Encrypt (https)
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
и добавьте следующую строку в секцию env::
DISCOURSE_FORCE_HTTPS: true
Затем выполните команду ./launcher rebuild app.
Пока вы ждёте, настройте правило перенаправления страницы, чтобы всегда использовать HTTPS, как показано ниже:
Через несколько минут ваш новый экземпляр Discourse станет доступен по домену, который вы использовали в конфигурации туннеля/Discourse
.






