Skip to main content
Version: 4.1

Packages & Apps

HiTechAdmin > Services > Packages & Apps used to be a page. It is gone: it was a second way to do only what hitechcloudcli enterprise and a handful of native-* commands already did, so it was removed rather than kept as a second, page-shaped source of truth. This page now documents the terminal commands that replace it - every capability the old page had is still here.

If you are looking for the page that installs, removes or repairs a built-in panel module (mail, PostgreSQL, the search engines, ...) rather than one of the optional add-ons below, that is a different, still-existing page: HiTechAdmin > Server > Modules (/server/modules), backed by hitechcloudcli module. See Editions and modules for how the two catalogues differ.

The module catalogue​

hitechcloudcli enterprise list # every module, its state, its licence
hitechcloudcli enterprise list --json
hitechcloudcli enterprise jobs # every module's last background job
hitechcloudcli enterprise <module> status [--json]
hitechcloudcli enterprise <module> install [--bg] # --bg backgrounds it, see below
hitechcloudcli enterprise <module> uninstall [--bg]
hitechcloudcli enterprise <module> repair [--bg]
hitechcloudcli enterprise <module> troubleshoot # always inline - it only reads
hitechcloudcli enterprise <module> license [<key>|delete] [--json]
CategoryModules
Applicationsdocker (Podman, rootless per account), ftp (vsftpd), monitoring (Sentinel)
Databasesmongodb (BETA), mssql (Microsoft SQL Server)
Web serverscaddy, lighttpd, h2o, cherokee WebEngines; haproxy and traefik edge routers
PHPphp56 - php85 (through hitechcloudcli phpversions)
Networkwireguard, ipmanager, vcdn (CDN / edge cache)
Securitywaf (Coraza / OWASP CRS), firewall (CSF)
Backups3 (rclone: AWS, R2, MinIO, any S3-compatible)
Licensedcloudlinux, jetbackup, kernelcare, cpguard, softaculous, sitepad - enterprise <module> license <key> before install

Install, uninstall and repair block the terminal unless you pass --bg, which runs the action as a background job and returns immediately - the same mechanism the old page used to keep a long install from blocking its own request (an install that restarts the panel itself still completes). A backgrounded job writes its state and log under /var/log/hitechcloud/enterprise/:

  • <module>.log - everything the action has printed so far (tail -f it)
  • <module>.state - ACTION, STATUS (running / done / failed), PID, STARTED, FINISHED, EXIT

troubleshoot always runs inline - it only reads (service status, ports, recent log lines, a login check) - so there is nothing to background.

Web servers​

hitechcloudcli engines

reports every WebEngine and edge router live: installed, state, uptime, CPU share, memory, task count and the number of sites it serves.

The four extra engines join Multi-WebServer Hosting as backends behind the nginx front-end on their own loopback ports (Caddy 8191, Lighttpd 8192, H2O 8193, Cherokee 8194). Once installed, users can pick them for a website from the list of engines that are actually installed; uninstalling moves that engine's sites back to the server default.

HAProxy and Traefik are not the panel's 80/443 front-end (that stays nginx, which the per-site configuration is rendered for). They run beside it as additional edge routers on 8080/8443 (HAProxy, stats on 127.0.0.1:8404) and 8081/8444 (Traefik, dashboard on 127.0.0.1:8082), forwarding to the front-end by default; add your own frontends/routers below the managed block in /etc/haproxy/haproxy.cfg or in /etc/hitechcloud/native/traefik/dynamic/.

Docker​

Docker is an application here, not the substrate: hitechcloudcli enterprise docker install sets it up once, and every account whose plan grants the docker feature gets its own rootless Podman (a socket under /run/user/<uid>). Accounts manage containers, images, volumes and networks

  • and run new containers - from the panel's Docker page; nothing an account runs can see another's containers. Applying a plan (hitechcloudcli plan-apply) switches Docker on or off for the account to match its plan.

WireGuard VPN​

hitechcloudcli enterprise wireguard install --port <udp-port> --max-peers <n>
hitechcloudcli vpn peer list [--json] [--user <account>]
hitechcloudcli vpn peer add <name> [--user <account>] [--bandwidth <mbit>]
hitechcloudcli vpn peer limit <name> <mbit> # 0 = unlimited
hitechcloudcli vpn peer remove <name>
hitechcloudcli vpn peer config <name> # prints the client .conf

A peer bound to --user <account> (with an optional bandwidth cap in Mbit/s, enforced both ways with tc) appears on that account's VPN page in the user panel, where the account downloads its own configuration. A reseller passes --as <reseller> (where the CLI is run under their own account context) to see and manage only their own accounts' peers, the same restriction the old page enforced in the browser.

IPv4 / IPv6 addresses​

Two independent tools manage addresses; which one you want depends on what you are doing:

  • hitechcloudcli ip-pool (also the Server > IP Addresses page) ties an address to an account's actual ip.json and to reseller allocation (allocate/deallocate/assign/release) - use this for anything that affects what an account's websites and outgoing mail bind to.
  • hitechcloudcli addresses (list [--json], add <ip[/prefix]> [--iface <dev>] [--label <text>], remove <ip>, assign <ip> <account> [--reseller], unassign <ip>) is the pool the old page's IP addresses tab drove directly.

Adding an address brings it up on the interface now and keeps it up across a reboot.

IP lookup​

The old page's IP lookup tab was a browser-only convenience: it proxied APNIC's RDAP through the panel so client-side JavaScript could query it without a CORS error. From a terminal there is nothing to proxy - query APNIC directly:

curl https://rdap.apnic.net/ip/<address>
curl https://rdap.apnic.net/autnum/<as-number>

The Top visitors table and the click-to-lookup on every IP in the panel's domain logs are unaffected - those run on the server's own rdap-scan timer (hitechcloudcli rdap-scan), which never went through the removed page.