v5.0.0 Documentation

Build on TRIPANEL

Comprehensive guides, API references, deployment manuals, and best practices for the enterprise hosting control panel.

Get Started →

Quick Start

Guide

Installation

Deploy TRIPANEL on AlmaLinux 10 / Rocky Linux 10 with a single command. Full root access, no dependencies required.

Read the guide →
Guide

First Server Setup

Configure your first server — add nameservers, set up DNS clusters, and provision your first hosting account.

Read the guide →
Guide

SSL Automation

Configure Let's Encrypt with DNS-01 wildcard certificates, auto-renewal, and Slack notifications.

Read the guide →
Reference

API Reference

Full REST & GraphQL API documentation. Manage every resource programmatically — servers, domains, DNS, email, and billing.

View the reference →
Utility

Migration (optional)

Optional cPanel pkgacct import — cpmove unpack to home/<user> + DB + mail. Not core. TriPanel is a hosting panel first.

See notes →
Reference

CLI Reference

Command-line interface for server management, backup automation, DNS operations, and bulk provisioning.

View the reference →

Installation — AlmaLinux 10 in One Line (2.5 GB max)

1. Pick a profile for your RAM

Two Install Methods — Speed vs Compiling from Source

Both use the same 4 RAM profiles above (--profile minimal|standard|balanced|performance). Pick Speed for production, Compiling for hacking/custom builds.

ProfileRAMCapPHP pmDBServices
minimal1 GB1.3 GBondemand 3128Mcore only
standard1.5 GB1.5 GBondemand 5256Mnetdata on
balanced2 GB2 GBdynamic 5256M + cacheDocker off
performance2.5 GB2.5 GB maxdynamic 10full poolall
MethodCommandTimeNeedsDoesBest for
⚡ Speed RECOMMENDEDcurl -fsSL https://download.tripanel.net/install.sh | bash -s -- --profile minimal90–120s
~1.5–2 min
9.8M DL @ 20 Mbps
AlmaLinux 10/Rocky 10
15GB free · ports 80/443/2083/2087/2096
No Go/Node
Validates license tripanel.net/api/public/license/validate → DL download.tripanel.net/latest/tripanel-installer.sh → extracts tripanel-server 23M + dist-admin/client/owner → systemctl restart tripanel-goProduction
bulk deploy
air-gapped with tar.gz
🔧 Compiling BUILDcurl -fsSL https://download.tripanel.net/latest/tripanel-installer.sh -o tripanel-installer.sh
bash tripanel-installer.sh # or bash install.sh from source
5–8 min
300–480s
+ go mod + npm ci
Go 1.26+ · Node 18+
MariaDB 10.11 · 2GB RAM
for build
go build -o tripanel-server 23M • 9.8M payload
PANEL_MODE=admin npm run build
vite 1384 → dist-*
Contributors
custom patches
debug
Bothtripanel install --license "TRIP-…"
tripanel hostname set srv.tripanel.net
+10sEd25519 at support.tripanel.net/authWrites signed /opt/tripanel/license.json → hostnamectl + PUT /api/admin/hostnameEither
✓ Verify Speed
sha256sum install.sh
gpg --verify install.sh.asc
DL is 9.8M installer (23M binary + 5.8M tar.gz) + 1.5M nginx + 4.9M pdns — not repo `yum`
⚙ Verify Compiling
go version → 1.26
npm run build → Vite ✓ 30s
Needs 2GB build RAM, 5m. Same 4 profiles apply.

Network: Speed 9.8M installer (23M binary unpacked) + 1.5M nginx + 4.9M pdns ~16M DL, ~33M unpacked. Compiling `go mod download` ~180MB + `npm ci` ~210MB. Result identical: `srv.tripanel.net:2087` Admin + `:2083` Client + `:2096` Owner, `home/<user>` jail, `PowerDNS` `Trimail` `AutoSSL`.

curl -fsSL https://download.tripanel.net/install.sh | bash -s -- --profile minimal
# Verify: sha256sum install.sh; gpg --verify install.sh.asc
# Switch later: tripanel-optimize-ram.sh minimal  # or WHM → Technologies
# Hostname: srv.tripanel.net (Admin → Change Hostname → PUT /api/admin/hostname → hostnamectl)

2. Preflight

Browse downloads → · install.sh 6 KB

Server Setup — home/<username> Jail Like cPanel

File Manager opens at home/<username> (/home/exampleuser), not /home. Cannot escape to /, /home, or other users (isPathAllowed browse.go:101). Skeleton public_html/public_ftp/mail/.cpanel/logs→/usr/local/apache/domlogs/<user> auto-created via domain.go:440 restorecon -RF → httpd_user_content_t under Enforcing. Subdomains as subfolders home/<user>/<sub>/public_html visible in the same home.

Create package (max_domains/disk/bw), provision first domain from client panel — it gets postmaster@domain + SPF/DKIM/DMARC zone template via PDNS.AddRecord (domain.go:519).

SSL Automation — Wildcard + Force HTTPS

HTTP-01 for domain+www (3 retries) + fallback certbot --dns-pdns -d *.domain via PowerDNS (domain.go:291), certbot-renew.timer daily, per-domain Force HTTPS toggle (AdminHttpsRedirect admin_files.go:114 writes return 301 https:// to _idx include).

API Reference — Full REST

Authenticate POST /api/auth/login → Bearer <token>. Key endpoints: GET /api/admin/hostname / PUT /api/admin/hostname {"hostname":"srv.tripanel.net"} → hostnamectl; POST /api/admin/cache/clear {"target":"all|nginx|php|ram"} → sync; echo 3 > /proc/sys/vm/drop_caches; POST /api/domains/:id/cache/clear (per-domain); GET /api/home/files?path=/home/<user> jailed; POST /api/backups/:id/restore for cpmove-<user>.tar.gz. GraphQL at /api/graphql. Open API host →

Appendix — Migration (optional utility)

Note: TriPanel is a web hosting control panel (admin :2087 / client :2083 / owner :2096), not a migration suite. Optional cpmove-<user>.tar.gz import exists via POST /api/admin/transfers → unpacks home/<user> + DB + /var/vmail + PDNS zones to /backup/cpbackup/daily. Focus is on TriPanel improvements: file manager jail, PDNS, TriMail, SSL AutoSSL.

tripanel-transfer --source cpanel --user exampleuser --host old.example.com --pass *** --target /backup/cpbackup/daily/cpmove-exampleuser.tar.gz
# Verify: tar tzf /backup/cpbackup/daily/cpmove-exampleuser.tar.gz | head -20

CLI Reference — tripanel + WHM API

tripanel --help (like whmapi1/uapi): tripanel list-accounts, tripanel backup --user exampleuser --type full, tripanel cache clear --target ram --domain example.com (POST /api/admin/cache/clear + POST /api/domains/:id/cache/clear), tripanel hostname set srv.tripanel.net (PUT /api/admin/hostname → hostnamectl), tripanel optimize --profile minimal. Full openapi.yaml at /api/docs.

curl -H "Authorization: Bearer $TOKEN" https://srv.tripanel.net:2087/api/domains/11/cache/clear -X POST -d '{"target":"all"}'
# RAM: sync; echo 3 > /proc/sys/vm/drop_caches (via POST /api/admin/cache/clear {"target":"ram"})

Download tools → · API →

Ready to build? Start deploying.

Full documentation with code examples, troubleshooting guides, and video walkthroughs.

Licenses & Support →

Live panels — see the real UI

Not mockups — actual srv.tripanel.net:2087 admin and :2083 client dashboards. Click to view full size.

Admin DashboardClient Dashboard

View full screenshots →