feat: create production Dockerfile (#37)
Some checks failed
Deploy to Coolify / Code Quality (pull_request) Has been cancelled
Deploy to Coolify / Run Tests (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Development (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Production (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Test (pull_request) Has been cancelled
Pull Request Checks / Validate PR (pull_request) Has been cancelled

- Multi-stage build for optimal image size
- Alpine Linux base (~220MB total)
- Non-root user for security (nodejs:1001)
- dumb-init for proper signal handling
- Built-in health check endpoint
- Production dependencies only
- Comprehensive .dockerignore
- Health check API endpoint
- Docker deployment documentation

Features:
- Optimized layer caching
- Secure non-root execution
- Container health monitoring
- ~220MB final image size
- Ready for Kubernetes/Docker Compose

Closes #37
This commit is contained in:
Pantry Lead Agent
2026-02-25 00:12:30 +00:00
parent 5b85132114
commit 7209bb06df
4 changed files with 229 additions and 0 deletions

68
.dockerignore Normal file
View File

@@ -0,0 +1,68 @@
# Dependencies
node_modules
app/node_modules
supabase/node_modules
# Build outputs
.nuxt
app/.nuxt
.output
app/.output
dist
app/dist
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
# Environment files (use docker env vars instead)
.env
.env.local
.env.*.local
app/.env
app/.env.local
# Editor directories and files
.vscode/
.idea/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.DS_Store
# Git
.git
.gitignore
.gitattributes
# CI/CD
.github
.gitea
# Documentation
*.md
docs/
!README.md
# Tests
test/
tests/
*.spec.js
*.spec.ts
*.test.js
*.test.ts
# Temporary files
*.tmp
*.bak
*.swp
.cache
# Supabase (handled separately)
supabase/