Skip to content

Bare Metal Install

Kheopsian edited this page Jul 30, 2026 · 1 revision

🇬🇧 English · 🇫🇷 Français

Bare-metal install (no Docker)

Prefer not to run Docker? Tagged releases ship a self-contained Linux tarball. The web UI is embedded in the binary, so there is nothing to keep next to it — just two binaries, a config, and a systemd unit.

Download

Grab the tarball for your architecture from the Releases page:

  • hydra-vX.Y.Z-linux-amd64.tar.gz (Intel/AMD)
  • hydra-vX.Y.Z-linux-arm64.tar.gz (ARM, e.g. a Pi 4/5 or ARM VPS)

Each ships with a .sha256 to verify: sha256sum -c hydra-*.tar.gz.sha256.

Install as a service (recommended)

tar xzf hydra-vX.Y.Z-linux-amd64.tar.gz
cd hydra-vX.Y.Z-linux-amd64
sudo ./install.sh

install.sh puts the binaries in /opt/hydra, the config in /etc/hydra, the data in /var/lib/hydra, creates a dedicated hydra system user, and runs systemctl enable --now hydra. Hydra then starts on boot and restarts on failure.

The UI is on http://<host>:8199. The admin password is printed once on first boot:

journalctl -u hydra | grep -i password

Manage it with standard systemd commands:

systemctl status hydra
systemctl restart hydra
journalctl -u hydra -f          # live logs

Run it manually (no systemd)

For a quick test, a NAS without systemd, or your own supervisor:

./hydra --config ./default.toml.example

Hydra finds its engine (hydra-engine) sitting next to the hydra binary automatically. To put it elsewhere, set HYDRA_ENGINE_BIN=/path/to/hydra-engine.

Contents of the tarball

hydra                  # the Go control-plane binary (UI + API, assets embedded)
hydra-engine           # the Typhon (Rust) BitTorrent engine
default.toml.example   # commented sample config
hydra.service          # the systemd unit install.sh uses
install.sh             # the installer above

Upgrading

Download the newer tarball, unpack it, and re-run sudo ./install.sh. It upgrades the binaries in place and never touches /etc/hydra or /var/lib/hydra, so your config, resume data and torrent store carry over.

Notes

  • Data lives in /var/lib/hydra (the config's data_dir), separate from the binaries — that separation is what makes upgrades safe.
  • The same binary runs every topology: drop --front-only or --agent-only ... into the ExecStart= line of hydra.service (or the manual command) to run a controller or an agent node instead of a monolith. See Deployment Topologies.
  • Behind a VPN you don't need Docker's network gymnastics — the process sees the host interfaces directly. See Gluetun (VPN) for the port story.

Build from source

Requires Rust and Go 1.25:

cargo build --release --manifest-path typhon-engine/Cargo.toml --bin typhon-engine
go build -ldflags="-s -w" -o hydra ./cmd/hydra

Then place typhon-engine/target/release/typhon-engine next to hydra as hydra-engine (or point HYDRA_ENGINE_BIN at it).

Clone this wiki locally