diff --git a/docker/devenv/defaults.env b/docker/devenv/defaults.env index a41ae2c577..70368b3c64 100644 --- a/docker/devenv/defaults.env +++ b/docker/devenv/defaults.env @@ -48,6 +48,8 @@ PENPOT_PUBLIC_HTTP_PORT=3449 PENPOT_MCP_SERVER_PORT=4401 PENPOT_MCP_REPL_PORT=4403 +SHADOW_SERVER_URL=wss://localhost:3449 + # Serena (agentic devenv). These are the published host ports for ws0; ws1+ # offset them by 10000*N. The container-internal ports (Serena MCP 14281, # dashboard 24282) are fixed by Serena and mapped to these in compose. diff --git a/docker/devenv/docker-compose.main.yml b/docker/devenv/docker-compose.main.yml index 1ea9858c66..fb8caf78c7 100644 --- a/docker/devenv/docker-compose.main.yml +++ b/docker/devenv/docker-compose.main.yml @@ -88,6 +88,7 @@ services: # Agentic devenv: set to a commit/tag to update Serena on startup, # leave empty to skip update and use the version baked into the image. - SERENA_UPDATE_VERSION=1.5.0 + - SHADOW_SERVER_URL=${SHADOW_SERVER_URL} networks: - default diff --git a/frontend/shadow-cljs.edn b/frontend/shadow-cljs.edn index f596a34e19..15b4356387 100644 --- a/frontend/shadow-cljs.edn +++ b/frontend/shadow-cljs.edn @@ -11,7 +11,7 @@ :asset-path "/js" :devtools {:watch-dir "resources/public" :reload-strategy :full - :server-url #shadow/env ["SHADOW_SERVER_URL" :default ""]} + :devtools-url #shadow/env ["SHADOW_SERVER_URL" :default ""]} :build-options {:manifest-name "manifest.json"} :modules {:shared @@ -87,7 +87,7 @@ {:target :browser :output-dir "resources/public/js/worker/" :asset-path "/js/worker" - :devtools {:server-url #shadow/env ["SHADOW_SERVER_URL" :default ""] + :devtools {:devtools-url #shadow/env ["SHADOW_SERVER_URL" :default ""] :browser-inject :main :watch-dir "resources/public" :reload-strategy :full} diff --git a/manage.sh b/manage.sh index 605cd5e0ef..89f8015c0e 100755 --- a/manage.sh +++ b/manage.sh @@ -322,7 +322,8 @@ function instance-env-overrides { "PENPOT_MCP_REPL_PORT=${mcp_repl}" \ "SERENA_EXTERNAL_PORT=${serena}" \ "SERENA_DASHBOARD_EXTERNAL_PORT=${serena_dash}" \ - "PENPOT_BACKEND_WORKER=false" + "PENPOT_BACKEND_WORKER=false" \ + "SHADOW_SERVER_URL=wss://localhost:${public}" } # Thin wrappers around .devenv/scripts/merge-mcp-config.py. The script does