Required
| Requirement | Details |
|---|---|
| Linux on x86_64 | ARM servers aren’t supported yet. |
| Root access | The installer runs as root, and so does Kylth’s container. |
| Docker Engine with the Compose plugin | Follow Docker’s install guide for your distribution. The installer checks both. |
| Ports 80 and 443 | Free on the server, and reachable from the internet. Kylth’s Caddy serves on both, and Let’s Encrypt must reach them to issue certificates. |
| Two DNS records | One for the dashboard, and a wildcard for projects. See DNS setup. |
| Outbound internet access | To download Kylth’s and Supabase’s images, and for Let’s Encrypt. Checking the licence needs none. |
| Disk space | About 11 GB for images: about 0.9 GB for Kylth, and about 9.5 GB for Supabase’s images, which all projects on the same Supabase version share. Your data comes on top. |
| Memory | 4 GB for Kylth and one project. See below for more projects. |
A sensible starting point
Kylth is tested on a server with 4 vCPU, 4 GB of RAM and 60 GB of disk, running Kylth and one project. Treat that as the minimum for a first install, and add memory as you add projects.
Memory per project
A new, idle project uses about 1.5–2 GB across Supabase’s containers. On the 4 GB test server, Kylth and one idle project left about half the memory free.
Plan for roughly 2 GB for each additional project. That figure is for idle projects: real traffic, large databases and many connections all need more. To see actual use, check Host resources on the dashboard’s overview and each project’s Resources tab.
Multi-host setups only
A server that connects other hosts to Kylth needs the WireGuard kernel module. A single-server install doesn’t. The installer tells you if the module is missing, but carries on.
Next, DNS setup covers the two records Kylth needs.