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.
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).
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.