Se stai usando OrbStack (non affiliato) sul tuo ambiente macOS locale e vuoi eseguire Discourse su HTTPS con un dominio personalizzato, aggiorna il tuo devcontainer.json con le seguenti aggiunte:
- Assegna un nome al container.
- Aggiungi il dominio wildcard
.orb.localalla variabile d’ambienteRAILS_DEVELOPMENT_HOSTS(gli hostname devono essere separati da una virgola).
--- 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", // Step 2
"PGUSER": "discourse",
"SELENIUM_FORWARD_DEVTOOLS_TO_PORT": "9229",
},
+ "runArgs": ["--name","discourse"], // Step 1
"mounts": [
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume",
"source=${localWorkspaceFolderBasename}-pg,target=/shared/postgres_data,type=volume",
p.s. per favore fammi sapere se sai come impostare l’hostname *.orb.local e il nome del container dinamicamente, come è definito per GitHub Codespaces. Impostare il valore come .app.github.dev,.orb.local non ha funzionato per me.
Aggiornamento: In qualche modo, mi mancava una voce nel mio file /etc/hosts. Dopo aver aggiunto questa riga, sono stato in grado di utilizzare il dominio wildcard .orb.local nel passaggio 2.
Con queste modifiche nel file devcontainer.json, ora posso eseguire la mia istanza locale di Discourse su \u003chttps://discourse.orb.local/\u003e
/etc/hosts
Aggiungi questa riga al tuo file /etc/hosts se non l’hai già fatto.
##
# Docker e OrbStack
##
127.0.0.1 host.docker.internal
Suggerimento bonus 1
Se in qualche modo le tue impostazioni di rete, o la rete VPN della tua azienda, ecc. entrano in conflitto con gli intervalli IP dei container di OrbStack, aggiorna OrbStack con un intervallo diverso.
Suggerimento bonus 2
Se ometti il passaggio 1, OrbStack creerà un container con un nome casuale, ma sarai comunque in grado di utilizzare HTTPS senza aggiungere alcun numero di porta. Lo svantaggio è il nome del container, quindi il nome del dominio verrà aggiornato ogni volta che ricostruisci il container.