services: frontend: build: context: . dockerfile: Dockerfile hostname: frontend # `npm install` runs on every start because the node_modules volume below # outlives image rebuilds: without this, a dependency added to # package.json since the volume was created is missing in the container # ("Failed to resolve import ..."). It's incremental, so it's a no-op once # everything is installed. command: sh -c "npm install --no-audit --no-fund && npm run dev -- --host 0.0.0.0" volumes: - .:/app # Keep the container's own node_modules: the host's are built for a # different platform, and the bind mount above would otherwise hide them. - /app/node_modules ports: - "5173:5173" environment: # The dev server proxies /api, /admin, /static and /media here. VITE_API_PROXY_TARGET: http://backend:8000