Add complete Docker containerization and CI/CD setup: Docker Configuration: - Multi-stage Dockerfile with 3 stages (deps, builder, runner) - Stage 1: Install dependencies with pnpm in Alpine - Stage 2: Build Next.js static export - Stage 3: Serve static files with nginx:alpine - Health check endpoint on /health - Optimized for production with layer caching Nginx Configuration: - Custom nginx.conf for static file serving - Gzip compression enabled - Security headers (X-Frame-Options, X-Content-Type-Options, etc.) - Static asset caching with 1-year expiry - Client-side routing support (try_files) - Health check endpoint for container orchestration - Error page handling GitHub Workflow (docker-build-push.yml): - Triggers on push to main, tags, and pull requests - Multi-platform builds (linux/amd64, linux/arm64) - Pushes to GitHub Container Registry (ghcr.io) - Automatic tagging: latest, semver, sha, branch - Uses GitHub Actions cache for faster builds - Requires only GITHUB_TOKEN (no secrets needed) .dockerignore: - Excludes node_modules, .next, build artifacts - Excludes dev files, logs, and IDE configs - Keeps Docker image size minimal Image will be available at: ghcr.io/valknarness/units-ui:latest 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
54 lines
430 B
Plaintext
54 lines
430 B
Plaintext
# Dependencies
|
|
node_modules
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
pnpm-debug.log*
|
|
|
|
# Next.js
|
|
.next
|
|
out
|
|
|
|
# Production
|
|
build
|
|
dist
|
|
|
|
# Misc
|
|
.DS_Store
|
|
*.pem
|
|
|
|
# Debug
|
|
*.log
|
|
|
|
# Local env files
|
|
.env*.local
|
|
.env
|
|
|
|
# Vercel
|
|
.vercel
|
|
|
|
# TypeScript
|
|
*.tsbuildinfo
|
|
next-env.d.ts
|
|
|
|
# Git
|
|
.git
|
|
.gitignore
|
|
|
|
# IDE
|
|
.vscode
|
|
.idea
|
|
*.swp
|
|
*.swo
|
|
|
|
# Testing
|
|
coverage
|
|
.nyc_output
|
|
|
|
# Turbopack
|
|
.turbo
|
|
|
|
# Documentation
|
|
README.md
|
|
IMPLEMENTATION_PLAN.md
|