Prerequisites
- An Ubuntu 22.04, 24.04, or 26.04 server with root access (see requirements).
- A domain on Cloudflare, and a Cloudflare tunnel token (Zero Trust → Networks → Tunnels → Create a tunnel).
- A Laravel (PHP 8.0+) or Next.js app in a GitHub repository.
Install and sign in
1
Run the installer
SSH into the server and run:It asks for four things: a MySQL root password, the panel domain (like
panel.example.com), a phpMyAdmin domain (like db.example.com), and the Cloudflare tunnel token. Then it installs everything. This takes 5–10 minutes. See what it installs.2
Point the domains at the tunnel
In Cloudflare Zero Trust, open your tunnel → Public hostnames and add both domains with the service
http://localhost:80.3
Create the admin account
Open
https://panel.example.com/setup. Enter your name, email, and password. There is only one admin account, and nobody can register after it exists.4
Turn on two-factor authentication
Scan the QR code with an authenticator app (Google Authenticator, 1Password, Authy) and enter the 6-digit code. The panel stays locked until this is done.
Deploy your first site
1
Connect GitHub
Open Sources → GitHub App and follow the one-click setup, or save a personal access token under Settings → GitHub token. Public repositories need neither.
2
Create a group and a website
Open Groups, create one (for example
production), then New website. Pick Laravel or Next.js, the domain, the repository, the branch, and the Cloudflare tunnel. For Laravel, tick Create a MySQL database to get a database and user filled into .env.3
Check the environment
Open the Environment tab and add your app’s settings (mail, API keys). The database lines are already filled.
4
Deploy
Click Deploy. The log streams live: clone,
composer install or npm ci && npm run build, migrations, then nginx and workers are reloaded. When it says Finished, open the site from Links.5
Deploy on every push
Pushes to the branch deploy automatically through the GitHub App. With a token, add the webhook shown on the Deployments tab to the repository.
Set up monitoring and alerts
1
Turn on request tracking
Open the website → Monitoring and click Turn on tracking. Visit the site and watch requests appear in the live feed within two seconds.
2
Connect Telegram
Create a bot with @BotFather, then save the bot token and chat ID under Settings → Telegram bot and send a test message. See Telegram alerts.
3
Pick your timezone
Settings → General sets the timezone and date format for every date in the panel.