Skip to content

Paths and services

Service Where What it is
hyperion-agent every node The daemon that does the work. Runs /usr/sbin/hyperion-agent --config /etc/hyperion/agent.toml.
hyperion-web master The panel. Runs /usr/sbin/hyperion-web --config /etc/hyperion/web.toml.
nginx every node Serves the sites and, on the master, the panel’s public address.
php8.1-fpm, php8.2-fpm, php8.3-fpm, php8.4-fpm nodes that host PHP sites One pool per site and PHP version.
mariadb, postgresql nodes that host databases Database servers.
redis-server optional Object cache for WordPress sites.
vsftpd optional FTP.
postfix every node Mail for PHP mail() and for Hyperion’s own mail.
clamav-freshclam optional Malware scanning for the WordPress integrity check.
hyperion-node-update.service during a node update A temporary unit that runs an update started from the master, so it survives the agent restarting.

Service health shows these live. See Check the health of a node’s services. From a shell:

Terminal window
sudo hyperion status
sudo hyperion logs -f

hyperion is a small wrapper installed at /usr/local/bin/hyperion. It runs update, setup-link, version, status and logs itself and passes everything else to hctl.

Path Content
/usr/sbin/hyperion-agent, /usr/sbin/hyperion-web The daemons.
/usr/bin/hctl The command-line tool, see the CLI reference.
/usr/local/bin/hyperion The wrapper above.
/usr/local/bin/hyperion-export The exporter the import wizard serves to source servers.
/opt/hyperion The source checkout the update script works in. Do not edit it.
Path Content
/etc/hyperion/agent.toml Agent settings, see Configuration. Written with mode 0600. agent.toml.bak beside it holds the previous contents.
/etc/hyperion/web.toml Panel settings.
/etc/hyperion/secrets/ Secret files, mode 0600 in a 0700 directory.
/etc/hyperion/node-id.json A worker’s node id and secret after enrollment.
/etc/hyperion/master-rpc.key The master’s request-signing key.
/etc/hyperion/node-rpc.key A node’s response-signing key.
/etc/hyperion/agent-rpc.crt, /etc/hyperion/agent-rpc.key Certificate and key of a node’s listener on port 9443.
/etc/hyperion/web-admin.json The bootstrap administrator record.
/etc/hyperion/web-session.key, /etc/hyperion/web-csrf.key Panel signing keys.
/etc/hyperion/web-tls/fullchain.pem, privkey.pem The panel’s certificate and key.
/etc/hyperion/certs/<domain>/fullchain.pem, privkey.pem A site’s certificate and key.
/etc/nginx/sites-available/<domain>.conf and the link in sites-enabled A site’s vhost. The panel’s own is hyperion-panel.conf.
/etc/ssh/sshd_config.d/hyperion-sftp.conf The SFTP rules for site logins.
Path Content
/run/hyperion.sock The agent’s socket, owned by the group hyperion-admin.
/var/lib/hyperion/state.db The agent’s database.
/var/lib/hyperion/setup.json First-run wizard state.
/var/lib/hyperion/backups/local Local backups.
/var/lib/hyperion/snapshots/<hosting-id> One restic repository per site. Its password file sits beside it; losing that file loses the snapshots.
/var/lib/hyperion/acme-challenges HTTP-01 challenge files.
/var/lib/hyperion/maintenance The pages nginx shows while the panel is down or a site is in maintenance mode.
/var/lib/hyperion/migration, /var/lib/hyperion/migration-incoming Staging for moved, copied and imported sites.
/var/lib/hyperion/site-mail/<system user>.jsonl The log of mail a site sent through mail().
/var/lib/hyperion/update-snapshot The programs saved before the last update, see Recover from a failed update.
/var/lib/hyperion/geoip The country database for GeoIP rules.

For a site example.com owned by the system user alice:

Path Content
/home/alice/example.com/htdocs The document root.
/home/alice/example.com/logs access.log and error.log.
/home/alice/example.com/tmp Temporary files and PHP sessions.

The prefix /home is home_root in agent.toml.

Path Content
/var/log/hyperion/agent.log The agent’s log.
/var/log/hyperion/node-update.log The log of a node update.
/var/log/hyperion/setup-stack.log Output of the component setup that installs services.
/var/log/hyperion/php-slow/ PHP slow-request logs.
/var/log/hyperion-waf/<hosting-id>.log Requests the WAF refused for a site.
journalctl -u hyperion-agent -u hyperion-web The services’ journal. hyperion logs runs it.