diff --git a/docker/devenv/defaults.env b/docker/devenv/defaults.env index c27f97c5a5..41276dfe86 100644 --- a/docker/devenv/defaults.env +++ b/docker/devenv/defaults.env @@ -45,6 +45,10 @@ PENPOT_PUBLIC_HTTPS_PORT=3449 PENPOT_PUBLIC_HTTP_PORT=3450 PENPOT_MCP_SERVER_PORT=4401 PENPOT_MCP_REPL_PORT=4403 +PENPOT_STORYBOOK_PORT=3451 + +MDTS_EXTERNAL_PORT=14179 +OPENCODE_EXTERNAL_PORT=14180 SHADOW_SERVER_URL=wss://localhost:3449 @@ -53,8 +57,6 @@ SHADOW_SERVER_URL=wss://localhost:3449 # dashboard 24282) are fixed by Serena and mapped to these in compose. SERENA_EXTERNAL_PORT=14181 SERENA_DASHBOARD_EXTERNAL_PORT=14182 -MDTS_EXTERNAL_PORT=14179 -OPENCODE_EXTERNAL_PORT=14180 # Tmux session inside the main container. PENPOT_TMUX_ATTACH=true diff --git a/docker/devenv/docker-compose.main.yml b/docker/devenv/docker-compose.main.yml index d5e248c2f7..944a36885c 100644 --- a/docker/devenv/docker-compose.main.yml +++ b/docker/devenv/docker-compose.main.yml @@ -27,6 +27,9 @@ services: - ${PENPOT_PUBLIC_HTTP_PORT}:3450 - ${PENPOT_PUBLIC_HTTP_PORT}:3450/udp + # Storybook + - ${PENPOT_STORYBOOK_PORT}:3451 + # MCP - ${PENPOT_MCP_SERVER_PORT}:4401 - ${PENPOT_MCP_REPL_PORT}:4403 diff --git a/frontend/.storybook/main.js b/frontend/.storybook/main.js index 5650faf8b5..aba0d8dbae 100644 --- a/frontend/.storybook/main.js +++ b/frontend/.storybook/main.js @@ -16,6 +16,9 @@ const config = { } }, docs: {}, + core: { + allowedHosts: ['all'], + }, async viteFinal(config) { return defineConfig({ diff --git a/frontend/package.json b/frontend/package.json index 65c1d3e46c..c35da555a5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -46,7 +46,7 @@ "clear:wasm": "cargo clean --manifest-path ../render-wasm/Cargo.toml", "watch": "exit 0", "watch:app": "pnpm run clear:shadow-cache && pnpm run clear:wasm && pnpm run build:wasm && concurrently --kill-others-on-fail \"pnpm run watch:app:assets\" \"pnpm run watch:app:main\" \"pnpm run watch:app:libs\"", - "watch:storybook": "pnpm run build:storybook:assets && concurrently --kill-others-on-fail \"storybook dev -p 6006 -h 0.0.0.0 --no-open\" \"node ./scripts/watch-storybook.js\"", + "watch:storybook": "pnpm run build:storybook:assets && concurrently --kill-others-on-fail \"storybook dev -p 3451 -h 0.0.0.0 --no-open\" \"node ./scripts/watch-storybook.js\"", "postinstall": "(cd ../plugins/libs/plugins-runtime; pnpm install; pnpm run build)" }, "devDependencies": { diff --git a/manage.sh b/manage.sh index 9063f0f7dd..c4207718e6 100755 --- a/manage.sh +++ b/manage.sh @@ -50,6 +50,7 @@ PENPOT_PORT_BASE_SERENA=${SERENA_EXTERNAL_PORT:?missing in defaults.env} PENPOT_PORT_BASE_SERENA_DASHBOARD=${SERENA_DASHBOARD_EXTERNAL_PORT:?missing in defaults.env} PENPOT_PORT_BASE_OPENCODE=${OPENCODE_EXTERNAL_PORT:?missing in defaults.env} PENPOT_PORT_BASE_MDTS=${MDTS_EXTERNAL_PORT:?missing in defaults.env} +PENPOT_PORT_BASE_STORYBOOK=${PENPOT_STORYBOOK_PORT:?missing in defaults.env} # Per-instance values like PENPOT_REDIS_URI are injected by # instance-env-overrides as shell env variables (not set in this shell), @@ -314,6 +315,7 @@ function instance-env-overrides { serena_dash=$(instance-port "$instance" "$PENPOT_PORT_BASE_SERENA_DASHBOARD") opencode=$(instance-port "$instance" "$PENPOT_PORT_BASE_OPENCODE") mdts=$(instance-port "$instance" "$PENPOT_PORT_BASE_MDTS") + storybook=$(instance-port "$instance" "$PENPOT_PORT_BASE_STORYBOOK") printf '%s\n' \ "PENPOT_MAIN_CONTAINER_NAME=penpot-devenv-${instance}-main" \ "PENPOT_USER_DATA_VOLUME=penpotdev_${instance}_user_data" \ @@ -323,6 +325,7 @@ function instance-env-overrides { "PENPOT_PUBLIC_HTTP_PORT=${public}" \ "PENPOT_MCP_SERVER_PORT=${mcp}" \ "PENPOT_MCP_REPL_PORT=${mcp_repl}" \ + "PENPOT_STORYBOOK_PORT=${storybook}" \ "SERENA_EXTERNAL_PORT=${serena}" \ "OPENCODE_EXTERNAL_PORT=${opencode}" \ "MDTS_EXTERNAL_PORT=${mdts}" \