Guide · Server providers

Whatever the provider, the same steps.

Kule isn’t tied to any particular provider. It adds, protects and installs Dokploy on any VPS that gives you an IP address and root access, the same way.

5 minLast updated: October 14, 2026

Before you start

  • A VPS: an IP address and root access (a password or an SSH key)
  • Kule, on macOS 14 or later
  • Optional: a domain. It doesn’t need to be on Cloudflare.

1Choose the server

When you create a new server in your provider’s panel, pay attention to the following:

  • Operating system: the current LTS release of Ubuntu. Kule installs on any Ubuntu and Debian release that Docker’s package repository covers.
  • CPU: x86_64 or arm64.
  • Size: at least 2 GB of memory and 30 GB of disk. That is the minimum Dokploy itself recommends.
  • An empty server: nothing else should be using ports 80, 443 and 3000. Choose the plain operating system instead of images that come with a control panel or web server.
  • SSH: Kule connects to the server on port 22.

When the server is ready, the provider gives you an IP address and login details: usually a root password sent by email or shown in the panel, or the SSH key you added when creating the server.

Kule also installs on an Ubuntu release that has reached end of support; it pulls the packages from the old releases archive, but that release no longer gets security updates. Kule tells you this during setup. If you have the choice, pick a current LTS release.

2If you were given a user other than root

Some providers deliver root disabled and give you a user with sudo rights, such as ubuntu or debian. Kule runs the setup directly as root and doesn’t use sudo, so in this case you need to turn on root access first. Connect with the user you were given and run:

ssh ubuntu@198.51.100.7
sudo passwd root
echo 'PermitRootLogin yes' | sudo tee /etc/ssh/sshd_config.d/0-root.conf
sudo systemctl restart ssh

You will enter the password you gave root into Kule once. While Kule’s “key-only login” protection is on, the setup turns root’s password login off again. For provider-specific details, see the OVHcloud guide.

3Add it to Kule

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

If you created the server with an SSH key, use the “ya da SSH anahtarı seç” (or choose an SSH key) option. Kule reads the ~/.ssh/id_ed25519 file on this Mac; the key never leaves the Mac. This option doesn’t work with a passphrase-protected key; in that case, connect with a password.

Either way, Kule generates a separate key just for this server, adds it to the server and stores it in the Keychain; all later connections use this key. The password is used only once and is not saved. On the first connection, Kule shows the server’s fingerprint; once you confirm it, it is pinned, and if it changes, Kule stops connecting.

4Checks

Before touching anything, Kule looks at the server and shows the result line by line:

Connected · Ubuntu 24.04 LTS · 2 vCPU · 4 GB RAM · 80 GB disk
Ports 80, 443 and 3000 are free
Docker Hub and GitHub are reachable
Secure SSH key installed · in Keychain

If something is missing, it tells you why and stops there: if there is no Docker package for the operating system, if one of the ports is taken by something else, or if the server can’t reach the internet.

5Protections and Dokploy

Next, it sets up the protections: a firewall, fail2ban, automatic security updates, swap if needed, the time zone and key-only SSH login. Then it installs Docker, Docker Swarm and Dokploy with its official install script, creates the admin account and the API key, and stores them in the Keychain.

If the connection drops or the Mac goes to sleep, the setup resumes from the step where it stopped. Details are in the Dokploy guide.

Next steps

We'll let you know when Kule is out.

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