Description
The current website3.0/Dockerfile has multiple production and security issues:
Identified Problems
- Container runs as root
- Uses npm install instead of deterministic npm ci
- Copies entire node_modules into runtime image
- Missing Next.js output: "standalone" optimization
- Final image size becomes unnecessarily large (>1GB possible)
Risks
- Increased attack surface
- Slower CI/CD pipelines
- Higher deployment costs
- Non-reproducible builds
- Elevated privilege risk during container breakout
Proposed Improvements
- Security: Create and switch to non-root user:
- USER node
- Build Optimization: Enable standalone output in next.config.mjs:
- output: "standalone"
- Dependency Reliability
- Replace:
- npm install
- with:
- npm ci
- Runtime Optimization: Copy only standalone artifacts instead of full
node_modules.
Screenshots
No response
Any additional information?
Acceptance Criteria
- Container runs as non-root user
- Docker image size significantly reduced
- npm ci used in build stage
- Standalone Next.js build implemented
- Multi-stage build optimized for production
What browser are you seeing the problem on?
No response
Checklist
GSSoC Participation
Description
The current
website3.0/Dockerfilehas multiple production and security issues:Identified Problems
Risks
Proposed Improvements
-
USER node-
output: "standalone"- Replace:
-
npm install- with:
-
npm cinode_modules.Screenshots
No response
Any additional information?
Acceptance Criteria
What browser are you seeing the problem on?
No response
Checklist
GSSoC Participation