- Set output: 'export' in next.config.ts (creates /out directory)
- Replaced Node.js standalone Dockerfile with nginx serving static files
- Updated docker-compose.yml for nginx (port 80)
- Both CF Pages and Docker now use the same static build
- next.config.ts now checks STATIC_EXPORT env var to toggle output mode
- Added pages:build script for Cloudflare Pages to use
- Docker uses default 'npm run build' which creates .next/standalone
- CF Pages should use 'npm run pages:build' which creates out/
- Add multi-stage Dockerfile with Node.js 20 Alpine
- Add docker-compose.yml for easy deployment
- Add .dockerignore to optimize build context
- Enable standalone output in next.config.ts
- Add Docker deployment documentation to README
- Move Docker support from planned to completed in roadmap
The Dockerfile uses a three-stage build process:
1. deps: Install production dependencies
2. builder: Build Next.js application
3. runner: Minimal production runtime with non-root user
Includes health checks, restart policy, and security best practices.