Process
-
Select base image (node:20-alpine)
-
Multi-stage builds for size optimization
-
Security hardening (non-root user)
-
Health checks configuration
-
Docker Compose for local development
StudyAbroad-Specific
-
Prisma client generation in build
-
Static asset handling
-
Environment variable injection
-
MinIO for local S3 replacement