Si estás usando OrbStack (no afiliado) en tu entorno macOS local y quieres ejecutar Discourse en HTTPS con un dominio personalizado, actualiza tu devcontainer.json con las siguientes adiciones:
- Dale un nombre al contenedor.
- Añade el dominio comodín
.orb.locala la variable de entornoRAILS_DEVELOPMENT_HOSTS(los nombres de host deben estar separados por una coma).
--- 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", // Paso 2
"PGUSER": "discourse",
"SELENIUM_FORWARD_DEVTOOLS_TO_PORT": "9229",
},
+ "runArgs": ["--name","discourse"], // Paso 1
"mounts": [
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume",
"source=${localWorkspaceFolderBasename}-pg,target=/shared/postgres_data,type=volume",
p.d. por favor, házmelo saber si sabes cómo configurar el nombre de host *.orb.local y el nombre del contenedor dinámicamente, como se define para GitHub Codespaces. Establecer el valor como .app.github.dev,.orb.local no me funcionó.
Actualización: De alguna manera, me faltaba un registro en mi archivo /etc/hosts. Después de añadir esta línea, pude usar el dominio comodín .orb.local en el paso 2.
Con estos cambios en el archivo devcontainer.json, ahora puedo ejecutar mi instancia local de Discourse en https://discourse.orb.local/
/etc/hosts
Añade esta línea a tu archivo /etc/hosts si aún no la tienes.
##
# Docker y OrbStack
##
127.0.0.1 host.docker.internal
Consejo extra 1
Si por alguna razón la configuración de tu red, o la red VPN de tu empresa, etc., entra en conflicto con los rangos de IP de los contenedores de OrbStack, actualiza tu OrbStack con un rango diferente.
Consejo extra 2
Si omites el paso 1, OrbStack creará un contenedor con un nombre aleatorio, pero aún así podrás usar HTTPS sin añadir ningún número de puerto. La desventaja es el nombre del contenedor, por lo que el nombre de dominio se actualizará cada vez que reconstruyas el contenedor.