GitHub user dosubot[bot] added a comment to the discussion: Best dev setup for Superset frontend development and customization with hot reload?
<!-- Answer --> The best workflow for Superset frontend development with hot reload is to run the backend inside Docker and the frontend dev server outside Docker. The key is to access the frontend via [http://localhost:9000](https://github.com/apache/superset/issues/32178), not port 8088, because port 9000 runs the webpack dev server with hot reload enabled. **Recommended setup:** 1. In the `superset-frontend` directory, install dependencies and start the dev server: ```bash cd superset-frontend npm install npm run dev ``` (You can also use `npm run dev-server` for hot reload; both scripts are defined in `package.json`.) 2. In a separate terminal, start the backend with Docker Compose: ```bash docker compose -f docker-compose-non-dev.yml up ``` 3. Open [http://localhost:9000](https://github.com/apache/superset/issues/32178) in your browser for frontend development with hot reload. API requests will be proxied to the backend running in Docker. **Why previous attempts may not have worked:** Accessing the frontend via port 8088 (the backend API port) does not support hot reload or serve assets correctly in dev mode. The dev server on port 9000 is configured for hot reload and proxies API requests to the backend ([webpack config details](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/webpack.config.js)). **Troubleshooting tips:** - If you see proxy errors or missing assets, check your Docker settings and ensure the asset build process completes (`npm install && npm run dev`). - Always use port 9000 for frontend dev; port 8088 is only for backend API access. This setup enables fast iteration on the React/JS side without rebuilding Docker images or running the backend outside Docker. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/dac9c1f4-993a-46d3-a1f8-97bc357b20bf?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/dac9c1f4-993a-46d3-a1f8-97bc357b20bf?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/dac9c1f4-993a-46d3-a1f8-97bc357b20bf?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/dac9c1f4-993a-46d3-a1f8-97bc357b20bf?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/dac9c1f4-993a-46d3-a1f8-97bc357b20bf?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/dac9c1f4-993a-46d3-a1f8-97bc357b20bf?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/dac9c1f4-993a-46d3-a1f8-97bc357b20bf?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)& nbsp;[](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/35150) GitHub link: https://github.com/apache/superset/discussions/35150#discussioncomment-14409041 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
