Install (Linux)
HeliosLogs publishes native Linux packages for Debian/Ubuntu (apt), Fedora / RHEL / CentOS Stream / AlmaLinux / Rocky / Amazon Linux (dnf/COPR), and Alpine (apk). Each is a single self-contained binary (the web UI is embedded — no separate frontend to deploy) plus a service unit — systemd, or OpenRC on Alpine. All channels ship x86_64 and aarch64.
For containers see the Quickstart; on a Mac, see Install (macOS).
Install
Pick your distribution:
# dnf-plugins-core provides `dnf copr` (preinstalled on most Fedora).
sudo dnf install -y dnf-plugins-core
sudo dnf copr enable helioslogs/helioslogs
sudo dnf install -y helioslogs# Trust the signing key + add the repo (once), then install.
sudo install -d /etc/apt/keyrings
curl -fsSL https://helioslogs.github.io/apt/helioslogs.gpg \
| sudo tee /etc/apt/keyrings/helioslogs.gpg >/dev/null
echo "deb [signed-by=/etc/apt/keyrings/helioslogs.gpg] https://helioslogs.github.io/apt stable main" \
| sudo tee /etc/apt/sources.list.d/helioslogs.list >/dev/null
sudo apt-get update
sudo apt-get install -y helioslogs# Trust the signing key + add the repo (once), then install.
sudo wget -O /etc/apk/keys/helioslogs.rsa.pub \
https://helioslogs.github.io/apk/helioslogs.rsa.pub
echo "https://helioslogs.github.io/apk/stable" | sudo tee -a /etc/apk/repositories
sudo apk update
sudo apk add helioslogsRepository notes
- dnf/COPR picks the right chroot from
/etc/os-releaseautomatically (fedora-NN,epel-9/epel-10,amazonlinux-2023) — no per-distro URL to choose. - Alpine packages are a static musl build, served from a signed apk repository.
Then start the service.
Start the service
The package installs a service unit but does not enable or start it automatically, so you can configure it first — systemd on Debian/Ubuntu and Fedora/RHEL, OpenRC on Alpine.
(Optional) Bootstrap the admin account
On an empty install the first browser visitor completes a one-time setup wizard. To skip that, set credentials in the service config before the first start:
sudo install -d /etc/helioslogs
sudo cp /usr/share/helioslogs/helioslogs.env.example /etc/helioslogs/helioslogs.env
sudoedit /etc/helioslogs/helioslogs.env
# [email protected]
# HELIOS_ADMIN_PASSWORD=change-mesudoedit /etc/conf.d/helioslogs
# export HELIOS_ADMIN_EMAIL="[email protected]"
# export HELIOS_ADMIN_PASSWORD="change-me"Enable and start
sudo systemctl enable --now helioslogs
systemctl status helioslogs --no-pagersudo rc-update add helioslogs default
sudo rc-service helioslogs start
sudo rc-service helioslogs statusVerify and open it:
helioslogs --version
curl -s http://localhost:7300/api/health # {"ok":true}Open http://localhost:7300 and log in (or complete the setup wizard). Next: First steps.
Reachable on the network by default
The packaged service binds to 0.0.0.0:7300, so it accepts connections from other hosts as soon as it starts. Read Security hardening before exposing HeliosLogs directly, and put it behind TLS / a reverse proxy for anything beyond localhost.
Syslog listener (optional)
Separately from the HTTP port (7300), HeliosLogs can receive raw syslog over UDP + TCP on its own port — default 5514. The listener is off by default; turn it on under Admin → Data Ingestion → Syslog.
To change the port (or run several instances on one host), set HELIOS_SYSLOG_PORT in the service config — /etc/helioslogs/helioslogs.env (systemd) or /etc/conf.d/helioslogs (OpenRC):
HELIOS_SYSLOG_PORT=5514 # 0 disables the listener on this nodeThis only overrides the port — you still enable the listener in the admin settings. Open the port in your firewall, and see Syslog for routing and the parsed fields.
Where things live
| Path | Contents |
|---|---|
/usr/bin/helioslogs | The binary (run it directly too: helioslogs serve …). |
/lib/systemd/system/helioslogs.service (deb/rpm) · /etc/init.d/helioslogs (Alpine) | The service unit. |
/etc/helioslogs/helioslogs.env (systemd) · /etc/conf.d/helioslogs (OpenRC) | Service config (admin bootstrap, HELIOS_SYSLOG_PORT, RUST_LOG, …). |
/var/lib/helioslogs | Data partitions, control plane, and the auto-generated secret keys. |
The deb/rpm unit runs under a systemd DynamicUser; the apk package runs as a dedicated helioslogs system user. Either way /var/lib/helioslogs holds the encryption + JWT secrets — back it up and see Secrets & encryption.
Upgrade
The packages upgrade in place; /var/lib/helioslogs is preserved. Restart the service afterward.
sudo dnf upgrade helioslogs
sudo systemctl restart helioslogssudo apt-get update && sudo apt-get install --only-upgrade helioslogs
sudo systemctl restart helioslogssudo apk update && sudo apk add --upgrade helioslogs
sudo rc-service helioslogs restartSee Upgrades & backups for backup guidance and version policy.
Uninstall
sudo systemctl disable --now helioslogs
sudo dnf remove helioslogssudo systemctl disable --now helioslogs
sudo apt-get remove helioslogssudo rc-service helioslogs stop; sudo rc-update del helioslogs
sudo apk del helioslogsRemoving the package leaves your data in /var/lib/helioslogs. Delete it manually if you want a clean slate.