Guide · Server providers

Your first server on Hetzner.

Open a server on Hetzner Cloud, add it to Kule, install Dokploy and deploy your first project. Start to finish, without opening a terminal.

3 minLast updated: October 14, 2026

Before you start

  • A Hetzner Cloud account
  • Kule, on macOS 14 or later
  • Optional: a domain. It does not need to be on Cloudflare.

1Create the server

In the Hetzner Cloud Console, create a new project and click Add Server. For the location, pick a region close to you or to your visitors. For the operating system, the current LTS release of Ubuntu is enough, and for the size, at least 2 GB of memory and 30 GB of disk.

If you create it without adding an SSH key, Hetzner emails you the root password. That email has the two things Kule needs: the IP address and the root password.

If you added an SSH key to the server, no password arrives. In Kule, use the “ya da SSH anahtarı seç” (or choose an SSH key) option. For now it uses ~/.ssh/id_ed25519 without a passphrase, and the key never leaves this Mac.

2Add it to Kule

In Kule, open Sunucu ekle (Add server) from the left menu. Type the IP address and the root password, then click Bağlan (Connect).

The password is used only once and is not saved. Once connected, Kule creates a key just for this server and puts it in Keychain. On the first connection it records and pins the server's fingerprint. If the fingerprint changes later, Kule stops the connection.

3Preparation

First, Kule protects the server: a firewall, fail2ban and automatic security updates. If there is no swap, it adds 2 GB of swap. You can accept the recommended setup as it is, or turn off the steps you do not want. You can turn most of the ones you skip back on later from the Sunucular (Servers) screen.

apt-get install -y ufw fail2ban unattended-upgrades
ufw allow 22,80,443/tcp && ufw --force enable
systemctl enable --now fail2ban
fallocate -l 2G /swapfile && mkswap /swapfile && swapon /swapfile

It never takes a step that could lock you out of the server (like turning off password login over SSH) before it has confirmed that key login works.

4Installing Dokploy

Next, it installs Docker and Dokploy. While the install runs, you can see which step it is on, and each step's output arrives when that step ends. Meanwhile, you can choose what to deploy.

$ curl -fsSL https://get.docker.com | sh
Installing Docker…
✓ Docker ready
Starting Docker Swarm…
✓ Swarm ready · manager: aktar
Pulling Dokploy services…
✓ Images ready
Starting the panel…
✓ http://203.0.113.24:3000 is responding
Creating the admin account and API token…

When the panel is ready, Kule creates the admin account and the API token, and puts the token in Keychain. You do not need to log in to the Dokploy panel, but you can open it whenever you like.

5First deploy

Your server is ready. All you need to do is pick something. You do not need a GitHub or Cloudflare account.

If you pick a project, Kule recognizes it and shows you the deploy plan. When you approve it, Kule sets it up and deploys it. In the last step, you connect your domain.

Next steps

We'll let you know when Kule is out.

People on the list get the first version before anyone else.