Getting started
Requirements
The server, network and accounts you need before installing, and the apps Self Host Layer can run.
A server
- Operating system: Ubuntu 24.04, Ubuntu 26.04 or Debian 12, freshly installed.
- CPU: x86_64 or arm64. Any provider works: Hetzner, DigitalOcean, Vultr, AWS and others.
- Memory: 1 GB of RAM works. 2 GB is more comfortable for Next.js builds. On servers with less than 4 GB, the installer adds a 2 GB swap file so a build can't exhaust memory and take the server down.
- Disk: 10 GB free.
- systemd: the server must run systemd. Containers (LXC, Docker) and WSL aren't supported.
Network
- Ports 80 and 443 free on the server and open in your provider's firewall. Caddy serves your apps on them and uses them to get certificates.
- A public IP address. Without your own domain, the panel and your apps answer on free
sslip.ioaddresses made from it, likehttps://203-0-113-7.sslip.io.
Access
- Root over SSH, ideally with an SSH key. With a key in place, the installer can turn off password logins for you.
Optional
- Your own domain for the panel, set during install or later from Settings.
- A wildcard DNS record (
*.apps.example.com), to give every app's free address your own domain instead ofsslip.io. - A GitHub account. The panel connects to it through a GitHub App of your own to deploy your repositories. Public repositories can also be deployed from their URL.
- S3-compatible storage for backups: AWS S3, Cloudflare R2, Backblaze B2, MinIO and others.
What it can run
- Node apps: Next.js, Nuxt, Astro, Remix, React Router, Express, Fastify, Hono, or any app with a start command.
- Static sites: Vite, Create React App, Astro's static output, or plain HTML. Caddy serves the files directly, with no process running.
- Package managers: npm, pnpm, yarn and bun.
- Node versions: whichever your project asks for, in
.nvmrc,.node-versionorengines.node, installed from official builds and checked against their published checksums.
Other languages, like Python, Go, Ruby or PHP, aren't supported yet.