Resources

100 VPS Hosting (Hetzner, etc.) resources for developers

This resource guide provides a technical roadmap for developers migrating from managed PaaS environments to self-managed VPS infrastructure like Hetzner, OVH, or Contabo. It focuses on production-grade security, automated deployment workflows, and cost-optimized scaling strategies.

Core Infrastructure and Provisioning

  1. 1

    Hetzner Cloud (hcloud) CLI

    beginnerhigh

    Install the hcloud-cli to manage server lifecycles, floating IPs, and private networks directly from your terminal or CI/CD pipelines.

  2. 2

    Terraform Hetzner Cloud Provider

    intermediatehigh

    Use the official Hetzner Cloud provider for Terraform to define your infrastructure as code, ensuring reproducible server environments and network topologies.

  3. 3

    Cloud-init for Automated Setup

    beginnerstandard

    Write YAML-based cloud-config files to automate user creation, package installation, and SSH key injection during the first boot of a VPS.

  4. 4

    Hetzner Storage Boxes

    intermediatemedium

    Mount external storage via Samba, NFS, or WebDAV for large media files or database backups, keeping your primary VPS disk lean.

  5. 5

    Contabo Object Storage

    beginnerstandard

    An S3-compatible storage solution for European-based data residency, ideal for storing application assets and cold backups at low cost.

  6. 6

    Ansible Server Hardening Playbooks

    intermediatehigh

    Use community-vetted playbooks like 'dev-sec.ssh-hardening' to apply industry-standard security configurations across multiple VPS instances.

  7. 7

    Scaleway VPC and Private Networks

    advancedmedium

    Configure private network interfaces to allow internal communication between app servers and databases without exposing traffic to the public internet.

  8. 8

    Packer for Golden Images

    advancedstandard

    Build pre-configured Ubuntu images with your stack pre-installed to reduce the spin-up time for new nodes in a cluster.

  9. 9

    OVHcloud Load Balancer

    intermediatehigh

    Implement a managed load balancer to distribute traffic across several VPS instances in different data centers for high availability.

  10. 10

    Hetzner Robot API

    advancedmedium

    For developers using bare metal (Dedicated Servers), use the Robot API to manage IP assignments, resets, and rescue system boots.

Security, Networking, and Reverse Proxies

  1. 1

    Caddy Server for Automatic SSL

    beginnerhigh

    Deploy Caddy as a reverse proxy to handle Let's Encrypt certificates automatically with zero-config HTTPS for all your subdomains.

  2. 2

    Tailscale for Private Management

    beginnerhigh

    Restrict SSH and database ports to a Tailscale mesh network, effectively removing your management ports from the public internet.

  3. 3

    UFW (Uncomplicated Firewall) Configuration

    beginnerstandard

    Implement a strict 'deny all' incoming policy, specifically allowing only 80, 443, and your custom SSH port.

  4. 4

    CrowdSec Security Engine

    intermediatehigh

    Install CrowdSec to detect and block malicious IPs based on behavior, sharing threat intelligence with other users globally.

  5. 5

    Fail2Ban for SSH Protection

    beginnerstandard

    Configure Fail2Ban to monitor auth logs and temporarily ban IP addresses that show signs of brute-force login attempts.

  6. 6

    Nginx Proxy Manager

    beginnermedium

    A Docker-based GUI for managing Nginx reverse proxy settings, ideal for developers who prefer a visual interface for SSL and routing.

  7. 7

    Traefik for Docker Orchestration

    intermediatehigh

    Use Traefik to automatically discover Docker containers and route traffic based on labels, perfect for dynamic VPS environments.

  8. 8

    WireGuard for Site-to-Site VPN

    advancedmedium

    Manually configure WireGuard tunnels to connect VPS instances across different providers (e.g., Hetzner to AWS) securely.

  9. 9

    SSH Key-Only Authentication

    beginnerhigh

    Disable password authentication in /etc/ssh/sshd_config to eliminate the risk of password-based credential stuffing.

  10. 10

    Cloudflare Tunnel (cloudflared)

    intermediatehigh

    Expose web services on your VPS to the internet without opening any inbound firewall ports by using an outbound tunnel to Cloudflare.

Deployment Automation and Monitoring

  1. 1

    Kamal (formerly MRSK)

    intermediatehigh

    Deploy Dockerized applications to any VPS using SSH. Kamal handles zero-downtime rollouts and load balancer configuration without a heavy PaaS.

  2. 2

    Coolify Self-Hosted PaaS

    beginnerhigh

    An open-source alternative to Heroku/Vercel that runs on your VPS. It manages deployments, databases, and backups via a web UI.

  3. 3

    Dokku (The Smallest PaaS)

    intermediatemedium

    A Docker-powered PaaS that lets you push code via Git (git push dokku master) to build and deploy applications automatically.

  4. 4

    GitHub Actions Self-Hosted Runners

    intermediatestandard

    Install a GitHub runner on your VPS to execute CI/CD jobs locally, avoiding the cost of GitHub-hosted runner minutes.

  5. 5

    Netdata Real-time Monitoring

    beginnermedium

    Install Netdata for per-second monitoring of CPU, RAM, and disk I/O with zero configuration and a built-in dashboard.

  6. 6

    Prometheus and Grafana Stack

    advancedhigh

    Set up a centralized monitoring server to scrape metrics from multiple VPS nodes and visualize them in custom Grafana dashboards.

  7. 7

    Watchtower for Docker Updates

    beginnerstandard

    A container that monitors your running Docker containers and automatically restarts them if a new image is pushed to the registry.

  8. 8

    Uptime Kuma for Status Pages

    beginnermedium

    Self-host a monitoring tool to track the uptime of your services and receive notifications via Telegram, Discord, or Slack.

  9. 9

    BorgBackup for Data Integrity

    intermediatehigh

    Use Borg for deduplicating, compressed, and encrypted backups of your application data to an offsite Storage Box.

  10. 10

    Logrotate Configuration

    beginnerstandard

    Ensure /etc/logrotate.conf is configured for all application logs to prevent your VPS disk from filling up with old text files.