Before you start
- The server meets the requirements.
- Both DNS names point at the server. DNS setup shows how to check.
1. Download and read the installer
curl -fsSLO https://kylth.com/install.sh
less install.sh
Read it before you run it. It’s a short, commented shell script, and the steps below are everything it does.
2. Run it
sudo bash install.sh
The installer:
- Checks the server: root, x86_64, Docker and Compose, and ports 80 and 443 free.
- Asks for the dashboard’s domain and the projects’ domain.
- Creates Kylth’s folders.
- Writes
/etc/kylth/docker-compose.ymland/etc/kylth/.env. - Pulls Kylth’s image, starts it, and waits until it reports healthy.
It installs nothing else and changes nothing else on the server. If Kylth is already installed, it stops and points you to Upgrade instead.
Without prompts
Set the answers in the environment and the installer doesn’t ask:
sudo KYLTH_DOMAIN=app.example.com KYLTH_BASE_DOMAIN=projects.example.com bash install.sh
Add KYLTH_TAG=<version> to install a specific release rather than the latest.
What the installer creates
| Path | What it is |
|---|---|
/etc/kylth/docker-compose.yml |
How Kylth’s container runs. Don’t change the folder paths in it; Security & permissions explains why. |
/etc/kylth/.env |
Your settings. Readable by root only. |
/opt/kylth |
Kylth’s database, keys and licence. Readable by root only. |
/opt/supabase-projects |
Your projects |
/opt/kylth-backups |
Project backups kept on the server |
/etc/wireguard |
Used only by multi-host setups. Readable by root only. |
On its first start, Kylth also creates its Caddy in /opt/supabase-projects/caddy and starts it as the container kylth-caddy.
3. Check that it worked
The installer ends with Kylth is running. To confirm at any time:
docker ps --filter name=kylth
Both kylth and kylth-caddy should be listed, with kylth marked (healthy). If the installer stopped with an error instead, see Troubleshooting.
After installation
- Create the owner account. Open
https://<dashboard domain>/setup. The page is called Create the owner account: enter an email and a password, confirm the password, and submit. The first visit can take a few seconds while Caddy gets the dashboard’s certificate. - Choose a licence. Kylth runs as the Free tier until you install one. See Licence.
- Optionally, set up email. Under Settings → Notifications → Configure SMTP, give Kylth an SMTP server, so it can email invitations and password resets.
- Create your first project. Your first project walks through it.
Install by hand
To set Kylth up without the installer:
- Create
/opt/kylth,/opt/supabase-projects,/opt/kylth-backupsand/etc/wireguard. - Put
docker-compose.ymlfrom the release in/etc/kylth, with a filled-in.envbeside it. The settings page lists what goes in it. - Run
docker compose up -din/etc/kylth.