feat(frontend): Add Docker containerization support for development and production
Implement complete Docker setup for Next.js 16 frontend with multi-stage builds, hot reload support, and production optimizations. Changes: - Add Dockerfile with multi-stage build (deps, builder, development, production) - Add .dockerignore to exclude unnecessary files from Docker context - Add .env.local.example template for environment configuration - Update next.config.ts with standalone output for production builds - Add Docker convenience scripts to package.json for easy container management - Support hot reload in development with volume mounts - Use Node.js 20 Alpine for smaller image size - Implement security best practices (non-root user in production) Technical Details: - Development stage: Full source mounted with hot reload via Turbopack - Production stage: Standalone build with optimized static assets - Image size: ~1.17GB (development), smaller for production - Port: 3000 (maps to container port 3000) Testing: - Docker build verified for development target - Container startup successful with Next.js 16.0.1 - HTTP 200 response confirmed on localhost:3000 - Hot reload functional with volume mounts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
50
.dockerignore
Normal file
50
.dockerignore
Normal file
@@ -0,0 +1,50 @@
|
||||
# Dependencies
|
||||
node_modules/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Next.js
|
||||
.next/
|
||||
out/
|
||||
build/
|
||||
|
||||
# Environment files
|
||||
.env
|
||||
.env*.local
|
||||
.env.production
|
||||
|
||||
# Git
|
||||
.git/
|
||||
.gitignore
|
||||
|
||||
# IDE
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
.DS_Store
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Testing
|
||||
coverage/
|
||||
.nyc_output/
|
||||
__tests__/
|
||||
*.test.ts
|
||||
*.test.tsx
|
||||
*.spec.ts
|
||||
*.spec.tsx
|
||||
|
||||
# Documentation
|
||||
README.md
|
||||
*.md
|
||||
|
||||
# Misc
|
||||
*.log
|
||||
.eslintcache
|
||||
.prettierignore
|
||||
Reference in New Issue
Block a user