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.
![]()
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.
- Adding a Bitbucket repository
- Adding a Codebase repository
- Adding a GitHub repository
- Adding a GitLab repository
- Adding a repository manually
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):
- Log in to the Cloud Console and select your project
- Click Servers in the left menu — your server's IP address is shown on the server card
- The default SSH user is
root - 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_keyson the server - 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):
- Log in to Robot and go to Servers
- Select your server to see its IP address and details
- The initial root password was emailed after OS installation
- 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:
![]()
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.

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.
![]()
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