DevOps
Building a Portfolio: Netlify, Docker & Modern Deployment
Austin H.•September 10, 2026•12 min read
#netlify#docker#portfolio#deployment
Why This Stack?
Building a portfolio that showcases your work requires more than just a pretty website. You need:
- Local development environment that mirrors production
- Easy deployment without SSH or complex CI/CD
- Fast iteration on design and content
- Scalability as your portfolio grows
Netlify + Docker gives you all of this.
Architecture
- Docker for local dev and reproducible builds
- Netlify for hosting and deployments
- GitHub for version control and automation
Getting Started
Create a Dockerfile:
FROM node:22-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "dev"]
Local Development
docker build -t portfolio .
docker run -p 3000:3000 portfolio
Visit localhost:3000 to see your site.
Deploy to Netlify
- Push to GitHub
- Connect repo to Netlify
- Set build command:
npm run build - Set publish directory:
outordist - Deploy
Netlify handles the rest |-- SSL, CDN, continuous deployment.
Example: nitsuah.io
The portfolio at https://nitsuah.io uses this exact setup. See the live example.
Related Resources
- JSON Resume Schema |-- Standard for resume data
- nitsuah.io/resume |-- Live resume example
- Resume Gist |-- Source JSON
- nitsuah/.github |-- Organization setup reference
- ghoverseer.netlify.app |-- GitHub org dashboard
- nitsuah.io/projects |-- Projects showcase
Key Takeaways
- Docker ensures identical local and production environments
- Netlify provides zero-config deployments with automatic HTTPS
- GitHub integration enables preview deployments for every PR
- Static export (output: export) works perfectly with Netlify
- Docker multi-stage builds reduce final image size significantly
Code References
- Netlify Config
- Dockerfile (unit tests)
- Docker Compose (dev)
- Next.js Config
- GitHub Actions CI
- Source Code
Further Reading
- Official Next.js docs: Next.js Docs
- Docker best practices: Docker Best Practices
Screenshots

Dockerfile Details
FROM node:22-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "dev", "--", "--hostname", "0.0.0.0"]Thanks for reading!
Read More Articles