Если вы используете OrbStack (не аффилирован) в локальной среде macOS и хотите запустить Discourse по HTTPS с пользовательским доменом, обновите ваш файл devcontainer.json, добавив следующее:
- Задайте имя контейнеру.
- Добавьте wildcard-домен
.orb.localв переменную окруженияRAILS_DEVELOPMENT_HOSTS(имена хостов должны быть разделены запятой).
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -13,10 +13,11 @@
],
"remoteUser": "discourse",
"remoteEnv": {
- "RAILS_DEVELOPMENT_HOSTS": ".app.github.dev",
+ "RAILS_DEVELOPMENT_HOSTS": ".app.github.dev,.orb.local", // Шаг 2
"PGUSER": "discourse",
"SELENIUM_FORWARD_DEVTOOLS_TO_PORT": "9229",
},
+ "runArgs": ["--name","discourse"], // Шаг 1
"mounts": [
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume",
"source=${localWorkspaceFolderBasename}-pg,target=/shared/postgres_data,type=volume",
P.S. Дайте знать, если вы знаете, как динамически установить имя хоста *.orb.local и имя контейнера, как это сделано для GitHub Codespaces. Установка значения .app.github.dev,.orb.local не сработала для меня.
Обновление: Как выяснилось, в моём файле /etc/hosts отсутствовала необходимая запись. После добавления этой строки я смог использовать wildcard-домен .orb.local на шаге 2.
С этими изменениями в файле devcontainer.json теперь я могу запускать свой локальный экземпляр Discourse по адресу https://discourse.orb.local/
/etc/hosts
Добавьте эту строку в файл /etc/hosts, если у вас её ещё нет.
##
# Docker и OrbStack
##
127.0.0.1 host.docker.internal
Бонусный совет 1
Если настройки вашей сети или корпоративный VPN конфликтуют с диапазонами IP-адресов контейнеров OrbStack, обновите настройки OrbStack, указав другой диапазон.
Бонусный совет 2
Если вы пропустите шаг 1, OrbStack создаст контейнер со случайным именем, но вы всё равно сможете использовать HTTPS без указания номера порта. Недостаток в том, что имя контейнера, а значит и доменное имя, будет обновляться при каждой пересборке контейнера.