DU
Digital Universe
Back to Blog
Tutorial2024-12-289 min read

Migrating from Shared Hosting to a Hetzner VPS

Ready to leave shared hosting? This guide covers the migration path from cPanel/shared hosts to a Hetzner VPS, including what changes and what stays the same.

Why Leave Shared Hosting?

Shared hosting (Bluehost, GoDaddy, SiteGround, etc.) is great for starting out. But eventually, you hit the walls:

  • Performance: Your site slows down because you're sharing a server with hundreds of others
  • Limits: Can't install custom software, run background processes, or use Docker
  • Scaling: Upgrading means paying exponentially more for marginal improvements
  • Control: Can't configure the server, firewall, or runtime environment

A Hetzner VPS gives you dedicated resources, full root access, and costs less than most premium shared hosting plans.

What You Need to Know

The biggest mindset shift: you're now the sysadmin. There's no cPanel, no managed updates, no support team configuring PHP for you.

But with tools like Coolify, this is less daunting than it sounds.

The Migration Checklist

#### 1. Export Your Data

Files: Download your site files via FTP or cPanel File Manager.

Database: Export your database via phpMyAdmin:

  • Select your database
  • Click Export → Quick → Go
  • Save the .sql file

Email: If you're using your host's email, you'll need to migrate this separately (to Mailcow or an external provider).

#### 2. Set Up Your Hetzner VPS

Follow our setup process:

1. Provision a CPX42 (or smaller if budget is tight)

2. Harden SSH

3. Install Docker

4. Set up Coolify

#### 3. Deploy Your Application

WordPress site? Deploy via Coolify's one-click WordPress template, then:

1. Import your database

2. Upload your wp-content folder

3. Update wp-config.php with new database credentials

Static site? Even easier — push to GitHub and deploy via Coolify.

Custom PHP? Coolify supports PHP applications natively.

#### 4. Update DNS

Once your site is running on the VPS:

1. Update your domain's A record to point to the Hetzner IP

2. Wait for DNS propagation (up to 48 hours, usually 15 minutes)

3. SSL will be configured automatically by Coolify

#### 5. Test Everything

  • Check all pages load correctly
  • Test forms and dynamic functionality
  • Verify email sending works
  • Check database connections
  • Monitor error logs: docker logs

Cost Comparison

Shared HostingHetzner VPS
Basic plan$8-15/mo$4.59/mo (CX22)
"Premium" plan$25-50/mo$14.49/mo (CPX31)
What you getLimited resources, no rootFull server, unlimited sites
Sites1-10 (limited)Unlimited
SSLUsually includedFree (Let's Encrypt)
EmailUsually includedSelf-hosted or external
Databases1-10 (limited)Unlimited
DockerNoYes
SSH accessLimited or noneFull root

What You Lose

Be honest about the trade-offs:

  • No cPanel: You'll use the command line and Coolify's dashboard instead
  • No managed updates: You handle OS and software updates
  • No built-in email: Set up Mailcow or use Fastmail/ProtonMail
  • No phone support: Community forums and documentation instead
  • Responsibility: If the server goes down at 3 AM, it's on you

What You Gain

  • Performance: 10-50x faster than shared hosting
  • Control: Install anything, configure everything
  • Scalability: Upgrade to a bigger server in minutes
  • Learning: Valuable skills in Linux administration
  • Cost efficiency: Host 20+ sites on a single $22/mo server

Is It Right for You?

Migrate if:

  • You're comfortable with (or want to learn) the command line
  • You're hosting multiple sites
  • You need Docker, custom runtimes, or background processes
  • Performance matters to you

Stay on shared hosting if:

  • You run a single WordPress site with low traffic
  • You have zero interest in server management
  • The current performance is acceptable
  • You need phone support for hosting issues

Ready to migrate? Our done-for-you setup handles the entire VPS configuration, so you get all the benefits without the learning curve.

#migration#shared-hosting#hetzner#vps#cpanel

Want the Complete Setup Guide?

This blog post covers the basics. Our premium guide includes step-by-step commands, exact configurations, and the solutions to every gotcha we encountered.