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 →
Guide

Migration

Import accounts from cPanel, DirectAdmin, or Plesk. Zero-downtime migration with DNS sync and SSL preservation.

Read the guide →
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

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
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/evahsolu), 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 -RFhttpd_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/loginBearer <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 →

Migration — cPanel pkgacct Import, Zero-Downtime

Import cpmove-<user>.tar.gz from cPanel/DirectAdmin/Plesk via WHM → Transfer Tool (POST /api/admin/transfers). Like cPanel, it unpacks home/<user> (now jail), mysqldump --all-databases, /var/vmail (Trimail), and dns zones (powerdns), then rsync with rclone to /backup/cpbackup/daily + aws s3 cp. DNS stays at old host until you lower TTL → rsyncPOST /api/backups/:id/restore → switch NS to ns1.tripanel.net.

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

CLI Reference — tripanel + WHM API

tripanel --help (like whmapi1/uapi): tripanel list-accounts, tripanel backup --user evahsolu --type full, tripanel cache clear --target ram --domain evahsolutions.com (POST /api/admin/cache/clear + POST /api/domains/:id/cache/clear), tripanel hostname set srv.tripanel.net (PUT /api/admin/hostnamehostnamectl), 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 →