Last updated on 4th March 2026

Deploying to Hetzner VPS via DeployHQ: Automated VPS Deployment

Deploying to your site hosted with Hetzner is very simple with DeployHQ. Hetzner is a major European hosting provider offering Cloud VPS, dedicated servers, and web hosting across data centres in Germany, Finland, the USA, and Singapore.

Firstly, you'll need to set up your DeployHQ project, then connect to your Hetzner server.

Setting up your project

Head to the Projects screen in DeployHQ, then click the New Project button to get started.

You'll be prompted to enter a name for your project, then select where your repository is hosted.

New Project

Next, click Create project and you'll be taken to a screen where you can log in with your repository hosting account to authorise access and then choose your repository.

Setting up your Hetzner server

Once you've configured your repository, you'll need to connect to your Hetzner server. The setup differs slightly depending on whether you're using Hetzner Cloud (VPS) or a dedicated server.

Finding your credentials

Hetzner Cloud (managed via Cloud Console):

  1. Log in to the Cloud Console and select your project
  2. Click Servers in the left menu — your server's IP address is shown on the server card
  3. The default SSH user is root
  4. If you created the server with an SSH key, there is no password — you'll need to add DeployHQ's public key to ~/.ssh/authorized_keys on the server
  5. If you created the server without an SSH key, the root password was emailed to you. You can reset it under the server's Rescue tab

Dedicated Servers (managed via Robot panel):

  1. Log in to Robot and go to Servers
  2. Select your server to see its IP address and details
  3. The initial root password was emailed after OS installation
  4. SSH keys can be uploaded under Key Management in Robot

Adding the server in DeployHQ

Head to Servers & Groups in DeployHQ, and click the New Server button. If you've just added your repository, you will have been taken to this page automatically.

Start by entering a name, and choosing SSH/SFTP as the protocol:

Strattic

You'll need to add DeployHQ's SSH public key to your server. Copy the key shown on the server configuration page, then add it to your server's ~/.ssh/authorized_keys file:

echo "DEPLOYHQ_PUBLIC_KEY" >> ~/.ssh/authorized_keys

You can also follow Hetzner's SSH key guide for more detailed instructions.

SSH RSA key

Next, enter your server's IP address as the hostname, root as the username (or a deploy user if you've created one), and leave the port blank to use the default (22).

For the deployment path, enter the directory where your files should be uploaded. Common paths on Hetzner:

  • Nginx or Apache: /var/www/your-domain/ or /var/www/html/
  • WordPress: /var/www/your-domain/wp-content/themes/your-theme/
  • Laravel/Symfony: /var/www/your-domain/ (with a build step for assets)

Within Deployment options, you can choose to automatically deploy your server and, if you're only deploying files from a certain directory in your repository, enter a Deployment subdirectory.

Pressable - deployment options

Tip: If you've enabled Hetzner's Cloud Firewall, you'll need to add an inbound rule allowing TCP port 22 from DeployHQ's IP addresses. Navigate to Cloud Console > Firewalls > your firewall > add an inbound rule. Also check any OS-level firewalls (ufw, iptables) on the server itself.

Click Create Server to finish, then you can proceed to start your first deployment.

Run your first deployment

By default, DeployHQ will upload the whole repository to your server on the first deployment, because there is no previously deployed commit to compare to.

If your files are already on Hetzner and up to date with the latest commit, you can follow this guide to skip that first deployment:

Otherwise, just follow this guide to start your first deployment, then after the first deployment, only files that have changed will be uploaded in future.

That's it! You've now set up and run your first deployment to your Hetzner server and your future changes will be uploaded for you automatically, or at the simple click of a button.

Further reading

DeployHQ has a number of very useful features to help with your deployments in general that you might wish to find out more about:

  • Compiling assets and javascript with the Build pipeline
  • Running commands on your server with SSH commands
  • Stop certain files from being uploaded in deployments using Excluded files
  • Keep important files safely away from your repository using Config files
  • Keep your team in the loop and run other useful tasks during a deployment with our Integrations