ArbindBuilds LogoArbindBuilds
Blog
CheatsheetsProjectsLinksAbout
Hire Me

ArbindBuilds

Build. Design. Repeat.

© 2026 ArbindBuilds.
All rights reserved.

Site Map

  • Home
  • Blog
  • Projects
  • About
  • Uses

Content

  • Cheatsheets
  • AI Tools
  • AI Prompts
  • Links

Products

  • Speakify
  • Gumroad Store
  • GitHub
  • Twitter / X

Made with care in Assam, India.

  1. Home/
  2. Cheatsheets/
  3. VPS Developer Cheatsheet

VPS Developer Cheatsheet

Compact VPS reference card for Linux server setup, SSH, Docker, networking, security, monitoring, deployments, and maintenance on Ubuntu-based VPS environments.

ArbindBuilds·May 10, 2026·
vpslinuxubuntudevopsdockernginxsshserverdeploymentcloudfirewallmonitoringbackend

VPS Basics

TermPurpose
VPSVirtual private Linux server
SSHRemote shell access
NginxReverse proxy + web server
DockerContainer runtime
systemdLinux service manager
UFWUbuntu firewall utility

Initial Server Setup

ssh root@SERVER_IP
adduser deploy
usermod -aG sudo deploy
passwd deploy
hostnamectl set-hostname app-server
apt update && apt upgrade -y
timedatectl set-timezone Asia/Kolkata
reboot

SSH & Access

CommandDescription
ssh user@ipConnect to server
ssh-keygen -t ed25519Generate SSH key
ssh-copy-id user@ipCopy public key
scp file user@ip:/pathUpload file
rsync -avz ./ user@ip:/appSync directory
nano ~/.ssh/authorized_keys
sudo nano /etc/ssh/sshd_config
sudo systemctl restart ssh

Firewall & Security

ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable
ufw status
apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban
FilePurpose
/etc/ufw/Firewall config
/etc/fail2ban/Ban rules
/var/log/auth.logLogin logs

Docker Essentials

CommandDescription
docker psRunning containers
docker imagesList images
docker logs appView logs
docker exec -it app shOpen shell
docker system pruneCleanup
docker build -t app .
docker run -d -p 3000:3000 app
docker compose up -d
docker compose down

Nginx Reverse Proxy

server {
  listen 80;

  server_name example.com;

  location / {
    proxy_pass http://localhost:3000;
  }
}
ln -s /etc/nginx/sites-available/app \
/etc/nginx/sites-enabled/

nginx -t
systemctl restart nginx
PathPurpose
/etc/nginx/sites-available/Site configs
/var/log/nginx/Nginx logs

SSL with Certbot

apt install certbot python3-certbot-nginx -y
certbot --nginx -d example.com
certbot renew --dry-run
systemctl status certbot.timer
PortUsage
80HTTP
443HTTPS
22SSH

Monitoring & Logs

CommandDescription
htopProcess monitor
df -hDisk usage
free -mMemory usage
journalctl -u appService logs
docker statsContainer metrics
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

Process Management

systemctl start app
systemctl stop app
systemctl restart app
systemctl status app
systemctl enable app
# /etc/systemd/system/app.service

[Service]
ExecStart=/usr/bin/node server.js
Restart=always
User=deploy

Deployment Workflow

git pull origin main
npm install
npm run build
pm2 restart app
docker compose pull
docker compose up -d --build
ToolUsage
PM2Node.js process manager
GitHub ActionsCI/CD
Docker ComposeMulti-container apps
rsyncFast deploy sync
arbindbuilds.com/cheatsheets/vps-developer-cheatsheet
← Back to Cheatsheets