# Install Setu

> Install the Setu control panel on a fresh Ubuntu or Debian server with one command.

Published 2026-10-15 · Canonical: https://setucp.com/install

---

You need a fresh Ubuntu 22.04, 24.04 or 26.04, or Debian 12 or 13, server (x86_64 or aarch64), root access, ports 80 and 443 open, and a DNS name pointing at the server. The installer brings PostgreSQL and Caddy itself.

## Run the installer

```sh
curl -fsSLO https://github.com/setucp/setu/releases/latest/download/install.sh && sudo bash install.sh --panel-host panel.example.com
```

The script verifies the release archive against `SHA256SUMS`, installs `/opt/setu/setu`, creates the `setu` user and database, configures Caddy for the panel host and starts `setu.service`.

No DNS name yet? Use `--tls internal` to have Caddy issue certificates from its own internal CA instead of ACME.

## Then, in the browser

1. The installer prints `https://panel.example.com/setup` and a one-time setup token. Open the URL and paste the token.
2. The wizard creates the owner account. This works exactly once.
3. The wizard registers this server: run the `setu agent install` line it shows, as root. The server shows online within seconds.
4. **Apps, Add**: paste or link an app manifest.
5. **New site**: choose the app and a domain. Setu provisions the site, and it goes live with HTTPS, its own database, limits and a nightly backup.

## More

All installer flags, the manual install, upgrading and uninstalling are covered in the [installation guide](https://github.com/setucp/setu/blob/main/docs/INSTALL.md). Sample app manifests, including Miniflux and hello-axum, are in the [manifests repository](https://github.com/setucp/manifests).
