Skip to content

Add a Hetzner Cloud Server

Appliku can provision Hetzner Cloud servers on your behalf using the Hetzner Cloud API. The server is created in your own Hetzner Cloud project, and you pay Hetzner directly for the infrastructure.

Step 1: Create a Hetzner Cloud API Token

Before adding a server, you need to provide Appliku with a Hetzner Cloud API token for the project you want to manage.

  1. Open the Hetzner Cloud Console
  2. Select the project that should host the new server
  3. Go to Security in the left sidebar, then choose the API tokens tab
  4. Click Generate API token
  5. Give the token a descriptive name (for example, "Appliku")
  6. Set the permissions to Read & Write (Appliku needs write access to create the server, create and attach its firewall, and manage SSH keys)
  7. Click Generate API token
  8. Copy the token immediately, since it is only shown once

Step 2: Add the Token to Appliku

  1. Open the Appliku dashboard
  2. Go to Team Settings, then the Cloud Providers section
  3. Find the Hetzner Cloud card
  4. Paste your API token and click Test & Save Credentials

If the token is valid, the status switches to Active and Appliku is ready to provision Hetzner Cloud servers in this project.

Step 3: Create a Server

  1. Navigate to the Servers tab in your team dashboard
  2. Click Add Server
  3. Select Hetzner Cloud as the provider
  4. Pick a location closest to your users for lower latency
  5. Pick a server type category (ARM, Cost-optimized x86, Regular AMD x86, or General purpose x86 AMD)
  6. Pick a specific server type within that category, server types are loaded live from Hetzner Cloud so they always reflect current availability and pricing
  7. Optionally enable Hetzner server backups, this is disabled by default and is separate from Appliku database backups, see below
  8. If your team has clusters enabled, choose to create a standalone server or add the new server to a cluster
  9. Click Create Hetzner Cloud Server

Minimum recommended size

Pick a server with at least 2 GB of RAM. Smaller servers may run out of memory during Docker image builds, especially for JavaScript and TypeScript projects.

Hetzner Server Backups

The Enable Hetzner server backups checkbox controls Hetzner Cloud's built-in server-level backup feature. It is provided and billed by Hetzner Cloud, not by Appliku, and is separate from Appliku's database backups.

  • Default is off, so you only pay for backups when you explicitly opt in.
  • Backups are managed in the Hetzner Cloud Console, not in Appliku.
  • Appliku database backups are configured per datastore inside Appliku and work independently.

Firewall

Each Hetzner server that Appliku creates has its own Hetzner Cloud firewall, appliku-<environment>-server-<id>, from the first boot. This is the managed firewall:

  • Inbound TCP 80 and 443 from all IPv4 and IPv6 addresses (HTTP and HTTPS).
  • SSH only from the Appliku servers, and from the IP addresses that you add on the Firewall tab of the server (Add my IP).
  • The ports of your databases with external connections and of your apps with expose web port. These are open to all addresses until you add a rule for the port on the Firewall tab.
  • All other inbound ports are closed. Outbound traffic is not restricted.

See Firewall for the rules, the expiry of a rule and the switch.

Legacy servers. Hetzner servers that Appliku created before the managed firewall share one firewall for each Hetzner project ("Appliku Firewall"). It allows only HTTP, HTTPS and SSH from Appliku, so database ports with external connections and exposed app ports are blocked. These servers stay legacy until you switch them on the Firewall tab. The preview lists the ports that will open. Rules that you added to the shared firewall in the Hetzner Cloud Console do not apply to a switched server; the preview lists them, add them on the Firewall tab.

Do not edit the Appliku firewall in the Hetzner Cloud Console. Appliku owns all its rules and removes rules that you add there. If you need other rules, create your own firewall and apply it to the server: Hetzner combines the firewalls, and a port is open when one of them allows it. Hetzner allows 5 firewalls for each server and 50 firewalls for each account (all projects together). Do not apply the Appliku firewall to other servers or through a label selector; Appliku then stops changing it and shows an error.

Hetzner firewalls do not filter traffic on Hetzner private networks.

Step 4: Wait for Setup

Appliku creates the server with Ubuntu 26.04 (falling back to Ubuntu 24.04 if the 26.04 image is not available for the selected server type), attaches the firewall, and automatically begins the server setup process. This takes a few minutes.

You can monitor the progress on the server detail page. Once setup is complete, the server status changes to Active and you can start deploying applications to it.

Managing the Server

The server is fully owned by your Hetzner Cloud project. You can see it in the Hetzner Cloud Console alongside your other resources. To keep configurations in sync, manage it through Appliku where possible.

Open the Server in the Hetzner Cloud Console

On the server detail page in Appliku, click Manage Server in Hetzner Cloud Console. This opens the Hetzner Cloud Console in a new tab.

Hetzner Cloud Console URLs are scoped to a project, and Appliku does not store your Hetzner project ID, so the button takes you to the project picker rather than directly to the server. Pick your project and the server will be in the list on the project page.

Deletion detection

If you delete the server directly in Hetzner Cloud, Appliku detects this automatically via the API and marks the server as deleted. See Server Settings for more details.