Portfolio Website & VPS Configuration
technology•6/2/2025

End-to-end setup of a production-ready Next.js portfolio on a hardened VPS. Includes repeatable deployment, SSL, reverse proxying, and a CI-friendly process.
Technologies
Digital Ocean VPSUbuntu ServerNginx ConfigurationUFW FirewallSSH Key AuthenticationLinux Administration
Step-by-step progression
Provision droplet
Created Ubuntu LTS droplet on DigitalOcean and configured SSH keys.
Secure server
Configured UFW firewall, disabled password SSH, enabled fail2ban.
Install runtime
Installed Node.js via nvm, PM2 for process management, and Nginx.
Reverse proxy + TLS
Set up Nginx server blocks and Let's Encrypt certificates with auto-renewal.
CI-friendly deploy
Created PM2 service script and deploy script for zero-downtime restarts.