🐳 Add Dockerfile for Next.js production deployment

Features:
 Multi-stage build (deps → builder → runner)
 Optimized for Next.js standalone output
 Non-root user for security (nextjs:nodejs)
 dumb-init for proper signal handling
 Health checks configured
 Exposes port 3000

Benefits over Nixpacks:
 Faster builds (cached dependencies)
 Smaller image size (~150MB vs ~500MB)
 More predictable builds
 Full control over build process
 Better security (non-root user)

Easypanel Configuration:
- Build Type: Dockerfile
- Dockerfile Path: ./Dockerfile
- Port: 3000
This commit is contained in:
Kunthawat Greethong
2026-03-10 10:03:15 +07:00
parent 2f759339e8
commit c0bd564d53
2 changed files with 86 additions and 19 deletions

47
.dockerignore Normal file
View File

@@ -0,0 +1,47 @@
# Dependencies
node_modules
.next
# Build output
dist
build
# Environment
.env*
.env.local
# Logs
logs
*.log
npm-debug.log*
# IDE
.idea/
.vscode/
*.swp
# OS
.DS_Store
Thumbs.db
# Git
.git/
.gitignore
.gitattributes
# Docker
Dockerfile*
.dockerignore
# Docs
*.md
!README.md
# Astro (from old migration)
dealplustech-astro/
.astro/
db/
# Backups
*.tar.gz
*-backup/