Files
bakery-ia/frontend/Dockerfile.kubernetes.dev
Claude 2726ac4981 feat: Add development mode for frontend in Kubernetes/Tilt
Added ability to run frontend in development mode with Vite dev server
for debugging React Error #306 and seeing unminified error messages.

Changes Made:

1. **New Dockerfile.kubernetes.dev**:
   - Runs Vite dev server instead of production build
   - Sets NODE_ENV=development for unminified React
   - Uses npm run dev with --host 0.0.0.0 for K8s access
   - Port 3000 for consistency with production
   - Enables hot reload and debug logging

2. **Updated Tiltfile**:
   - Changed dockerfile to Dockerfile.kubernetes.dev for dev mode
   - Added live_update for hot reload:
     - Syncs src/, public/, index.html, vite.config.ts
     - Falls back on package.json changes
     - Runs npm ci if dependencies change
   - Added comments for switching between dev/prod

Benefits:
- See all console.log debug messages (🔍, , 🔴)
- Get unminified React error messages with line numbers
- Hot reload on file changes
- Full error stack traces
- Easy to switch back to prod mode

To Use:
1. Run: tilt up
2. Frontend will rebuild with dev server
3. Check browser console for debug logs
4. See ErrorBoundary messages with full details

To Switch Back to Production:
- Change dockerfile line in Tiltfile to:
  dockerfile='./frontend/Dockerfile.kubernetes'
2025-11-07 21:01:51 +00:00

26 lines
642 B
Docker

# Development Dockerfile for Frontend - Vite Dev Server
# This runs the Vite dev server with hot reload and unminified React
FROM node:18-alpine
WORKDIR /app
# Install dependencies
COPY package*.json ./
RUN npm ci --verbose && \
npm cache clean --force
# Copy source code
COPY . .
# Expose Vite dev server port
EXPOSE 3000
# Set NODE_ENV to development for unminified React
ENV NODE_ENV=development
# Start Vite dev server with host binding for Kubernetes
# --host 0.0.0.0 allows external access from Kubernetes
# --port 3000 keeps the same port as production
CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "3000"]