Se você estiver usando o OrbStack (não afiliado) em seu ambiente macOS local e quiser executar o Discourse em HTTPS com um domínio personalizado, atualize seu devcontainer.json com as seguintes adições:
- Dê um nome ao contêiner.
- Adicione o domínio curinga
.orb.localà variável de ambienteRAILS_DEVELOPMENT_HOSTS(os nomes de host devem ser separados por vírgula).
--- 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", // Passo 2
"PGUSER": "discourse",
"SELENIUM_FORWARD_DEVTOOLS_TO_PORT": "9229",
},
+ "runArgs": ["--name","discourse"], // Passo 1
"mounts": [
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume",
"source=${localWorkspaceFolderBasename}-pg,target=/shared/postgres_data,type=volume",
p.s. por favor, me avise se você souber como definir o nome de host *.orb.local e o nome do contêiner dinamicamente, como é definido para o GitHub Codespaces. Definir o valor como .app.github.dev,.orb.local não funcionou para mim.
Atualização: De alguma forma, estava faltando um registro no meu arquivo /etc/hosts. Após adicionar esta linha, pude usar o domínio curinga .orb.local no passo 2.
Com essas alterações no arquivo devcontainer.json, agora posso executar minha instância local do Discourse em \u003chttps://discourse.orb.local/\u003e
/etc/hosts
Adicione esta linha ao seu arquivo /etc/hosts se você ainda não o tiver.
##
# Docker e OrbStack
##
127.0.0.1 host.docker.internal
Dica bônus 1
Se, por algum motivo, suas configurações de rede, ou a rede VPN da sua empresa, etc., entrarem em conflito com os intervalos de IP de contêiner do OrbStack, atualize seu OrbStack com um intervalo diferente.
Dica bônus 2
Se você omitir o passo 1, o OrbStack criará um contêiner com um nome aleatório, mas você ainda poderá usar HTTPS sem adicionar nenhum número de porta. A desvantagem é o nome do contêiner, portanto, o nome do domínio será atualizado toda vez que você reconstruir o contêiner.