Files
superset2/docker-compose.yml
Evan Rusackas 79eb91da96 fix(docker): make docker compose up build reliably
Three interlocking fixes so the full dev stack comes up cleanly:

1. Bind-mount Python package metadata (pyproject.toml, setup.py,
   MANIFEST.in, README.md) into /app in docker-compose.yml. Without
   these mounts, docker-bootstrap.sh's `uv pip install -e .` reads the
   stale metadata baked into the image at build time. After bumping
   apache-superset-core's sqlglot pin (>=28.10.0,<29), the bind mount
   ensures the editable install always sees the host's current pins
   instead of the image's older snapshot — which had been causing
   "apache-superset==0.0.0.dev0 depends on sqlglot>=27.15.2,<28" type
   resolver failures.

2. Bump @superset-ui/glyph-core's react peer from ^17.0.2 to ^18.2.0.
   Root and every other workspace package are on react 18; the
   stranded peer caused ERESOLVE during the in-container `npm install`
   (Docker doesn't use --legacy-peer-deps).

3. Restore the legacy-plugin-chart-partition multi-file plugin
   (controlPanel.tsx, transformProps.ts, index.ts) from master. They
   were missing on our branch; webpack resolves @superset-ui/legacy-
   plugin-chart-* via the tsconfig path mapping to plugins/.../src/,
   and without index.ts the partition entrypoint was unreachable.
   MainPreset.ts imports it.

Verified: docker compose down -v && docker compose build --no-cache &&
docker compose up brings the full stack up, /health returns OK, and
nginx serves the frontend on http://localhost/ (HTTP 302 login).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:19:40 -05:00

9.0 KiB