# Remote Dev Server Guide Part 1: Choosing a Hetzner Dedicated Server Date: 2026-03-05 · 4 min read Tags: hetzner, devops, remote-development, server URL: https://ahmedelywa.com/blog/hetzner-remote-dev-part-1-choosing-your-server --- Most developers work on their local machine. I did too — stuck on my MacBook Pro as my only option. If I wasn't at my desk with my laptop, I couldn't code. I wanted the freedom to work from anywhere: open my iPad at a coffee shop, pull out my phone to check a build, or SSH in from a borrowed laptop. That meant my development environment couldn't live on any single device. The solution: a Hetzner dedicated server that acts as my permanent development machine. I connect to it from my Mac, iPad, and iPhone using [Termius](https://termius.com) — one environment, accessible from any device. In this series, I'll walk through the entire setup — from picking the hardware to deploying production apps with GitHub Actions. ## Why Dedicated Over VPS? Cloud VPS instances (DigitalOcean, AWS EC2, Linode) share physical hardware with other tenants. You get a slice of CPU and RAM that can fluctuate based on your neighbors. For a dev server running Docker containers, multiple Node.js processes, PostgreSQL, and Claude Code simultaneously, I wanted **predictable, bare-metal performance**. Hetzner's dedicated servers give you: - **Dedicated hardware** — no noisy neighbors, consistent performance - **Unmetered bandwidth** — 1 Gbps included, no data transfer caps - **European data centers** — great latency if you're in Europe/Middle East - **Competitive pricing** — significantly cheaper than equivalent AWS/GCP instances ## How to Pick Your Server Head to the [Hetzner Server Auction](https://www.hetzner.com/sb) for the best deals on pre-configured servers. These are previously-used machines returned by other customers, often available at significant discounts. New servers are available on the [main configurator](https://www.hetzner.com/dedicated-rootserver) if you want specific specs. ### CPU: Cores Matter More Than Clock Speed For development workloads (compiling TypeScript, running tests, building Next.js apps, running AI tools), you want **at least 8 cores**. Here's why: - `bun run build` for a Next.js app uses multiple cores for parallel page compilation - Docker runs multiple containers simultaneously - Claude Code + your dev servers + database all compete for CPU time I went with the **AMD Ryzen 7 3700X** — 8 cores, 16 threads at 3.6 GHz. It handles everything I throw at it without breaking a sweat. The load average typically sits around 2 even with 5 concurrent SSH sessions. ### RAM: 32 GB Minimum, 64 GB Ideal Here's what my server's memory looks like on a typical day: - PostgreSQL instances (3 databases): ~2 GB - Redis (2 instances): ~500 MB - Node.js dev servers: ~1-2 GB each - Docker overhead: ~1 GB - Claude Code: ~500 MB - OS + buffers/cache: ~4 GB That's already 10+ GB before I open a second project. With 64 GB, I never think about memory. If budget is tight, 32 GB works but you'll feel it when running multiple projects. ### Disk: NVMe SSD, 500 GB+ Development workloads are I/O heavy — `node_modules`, Docker layers, Git operations, database writes. A spinning HDD will make everything feel sluggish. Get an NVMe SSD. I have a 98 GB root partition (LVM) which is tight. If I were ordering again, I'd go for at least 500 GB. Docker images and `node_modules` folders add up fast. ### My Spec Sheet | Component | Spec | |-----------|------| | CPU | AMD Ryzen 7 3700X (8c/16t @ 3.6 GHz) | | RAM | 64 GB DDR4 | | Disk | NVMe SSD (LVM) | | OS | Ubuntu 24.04 LTS | | Location | Finland (Hetzner) | | Bandwidth | 1 Gbps unmetered | ## The Ordering Process 1. **Create a Hetzner account** at [hetzner.com](https://www.hetzner.com). You'll need to verify your identity (ID + address proof). 2. **Browse the Server Auction** or configure a new server. Filter by CPU generation and RAM. Sort by price. 3. **Select your OS** — choose Ubuntu 24.04 LTS. It's the most stable option with the longest support window (until 2034). 4. **Choose a data center** — pick whichever is geographically closest to you for lowest latency. I chose Finland since it provides good connectivity to the Middle East and Europe. 5. **Complete the order** — Hetzner provisions dedicated servers within minutes to a few hours. You'll receive root credentials via email. ## First Boot Once provisioned, you'll get an email with: - Server IP address - Root password (change this immediately) - Rescue system credentials SSH in for the first time: ```bash ssh root@YOUR_SERVER_IP ``` Change the root password: ```bash passwd ``` That's it for Part 1. In the [next post](/blog/hetzner-remote-dev-part-2-initial-server-setup), we'll set up users, install essential tools, configure the shell, and get the server ready for development work. ## Series Navigation 1. **Choosing Your Server** (you are here) 2. [Initial Server Setup](/blog/hetzner-remote-dev-part-2-initial-server-setup) 3. [Security with Tailscale VPN](/blog/hetzner-remote-dev-part-3-security-with-tailscale) 4. [Claude Code & Development Workflow](/blog/hetzner-remote-dev-part-4-claude-code-dev-workflow) 5. [Production Deployment with GitHub Actions & PM2](/blog/hetzner-remote-dev-part-5-production-deployment)