Назад към всички

VPS

// Provision, secure, and manage virtual private servers with practical hosting guidance.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameVPS
descriptionProvision, secure, and manage virtual private servers with practical hosting guidance.
metadata[object Object]

VPS Management Rules

Choosing a VPS

  • Match location to users — latency matters more than raw specs for user-facing apps
  • ARM instances cost 20-40% less with equivalent performance for most workloads — check compatibility first
  • Shared vCPU is fine for most apps — dedicated CPU only for sustained compute-heavy workloads
  • Bandwidth overage fees can exceed server cost — check limits before choosing plan

Initial Setup Priority

  • Update system packages immediately after first boot — fresh images are often months behind on security patches
  • Create non-root user with sudo before disabling root — locking yourself out requires provider console access
  • SSH key authentication before disabling password login — test the key works first
  • Firewall rules before exposing services — default is often all ports open

SSH Hardening

  • Change SSH port from 22 — reduces automated scanning noise by 99%
  • Disable root login via SSH — force sudo for audit trail
  • Disable password authentication — keys only, no exceptions
  • Install fail2ban — bans IPs after failed attempts, essential for any public server

Firewall Basics

  • Default deny incoming, allow outgoing — only open what you need
  • Allow SSH (your custom port) before enabling firewall — or you're locked out
  • HTTP/HTTPS (80/443) only if running web services
  • Keep firewall rules minimal — every open port is attack surface

Resource Management

  • Enable swap even with enough RAM — prevents OOM kills during traffic spikes
  • Monitor disk usage — logs and Docker images fill disks silently
  • Set up basic monitoring (uptime, disk, memory) — know when things break before users tell you
  • Reboot periodically to apply kernel updates — unattended-upgrades doesn't cover everything

Backups and Snapshots

  • Provider snapshots are not backups — they're tied to the provider, not portable
  • Test restore process before you need it — untested backups are wishful thinking
  • Automate backups — manual backups get forgotten
  • Keep at least one backup offsite — provider outages take everything with them

Networking

  • Static IP is usually default — but verify before relying on it for DNS
  • IPv6 is free and increasingly expected — enable it unless you have specific reasons not to
  • Private networking between VPS instances avoids public internet for internal traffic
  • Document your IP addresses — easy to lose track with multiple servers

Cost Awareness

  • Stopped instances still cost money for storage — delete unused servers
  • Reserved instances save 30-50% for long-term use — commit if you're sure
  • Bandwidth is often the surprise cost — especially for media-heavy apps
  • Multiple small VPS often beats one large one — isolation and redundancy

Provider-Specific

  • Hetzner, DigitalOcean, Linode, Vultr all work similarly — skills transfer between them
  • Provider firewalls (security groups) act before OS firewall — configure both
  • Provider console access works when SSH is broken — know how to access it
  • Some providers charge for IPv4 addresses separately — check before assuming you have one

Common Mistakes

  • Not updating for months — security vulnerabilities accumulate
  • Running everything as root — no audit trail, maximum blast radius
  • No firewall because "nobody knows my IP" — scanners find everything
  • Oversizing from day one — start small, scale when needed
  • Ignoring provider status pages — outages explain mysterious issues