3.2 KiB
Runix
Runix is an infrastructure management platform: one control plane manages a fleet of hosts through lightweight agents that dial out over WebSocket (NAT-friendly — nothing connects in to your servers). Manage Docker, Compose, systemd units and native daemons; browse and edit files; open terminals and consoles; schedule tasks; and update the whole fleet from the UI.
This repository holds the release binaries and the installer. The source lives in a separate repository.
Install
One command sets up a host. Run it as root; it asks what the host should be
(control plane, agent, or both), checks prerequisites, installs under
/opt/runix, and wires up systemd.
curl -fsSL https://runix-releases.s3-alpha-web.astra-dev.online/install.sh | sudo sh
Binaries are served from object storage, so this needs no account and no
token. To pin a version, add --version v0.5.0.
Roles
| Command | What it installs |
|---|---|
sudo sh install.sh --role all-in-one |
Control plane and an agent on this host (single-host setup) |
sudo sh install.sh --role server |
Control plane only |
sudo sh install.sh --role agent --url https://runix.example.com --token <token> |
An agent that joins an existing control plane |
The all-in-one and server roles can provision PostgreSQL in Docker for you
(--db docker) or use one you already run (--dsn postgres://…). Add -y
for an unattended install that takes sensible defaults. sh install.sh --help lists every flag.
Everything lives under one directory:
/opt/runix/bin/ runix-server, runix-agent
/opt/runix/etc/ server.env, agent.env (0600 — secrets live here)
/opt/runix/postgres/ docker-compose.yml, data/ (control plane)
/opt/runix/agent/ supervised daemon state (agent)
Update
Re-running the installer upgrades in place — binaries are replaced and services restarted, while your configuration (above all the JWT and encryption secrets) is preserved:
curl -fsSL https://runix-releases.s3-alpha-web.astra-dev.online/install.sh | sudo sh -s -- -y
Or update from the UI: an administrator sees an Updates page that checks object storage for the latest release and updates the control plane and each agent with one click. Point a control plane at this repository with:
RUNIX_UPDATE_MANIFEST=https://runix-releases.s3-alpha-web.astra-dev.online/latest.json
Releases
Each release publishes, for linux/amd64 and linux/arm64:
runix-server_linux_<arch>— the control planerunix-agent_linux_<arch>— the agentinstall.sh— this installerSHA256SUMS— checksums; the installer verifies every download against it
Binaries are built automatically from source on tag by the CI runner and
published to object storage as well as to this repository. latest.json
beside them names the newest version and every asset's checksum — that is
what the installer and the in-app updater read.
Verify a download by hand
curl -fsSLO https://runix-releases.s3-alpha-web.astra-dev.online/v0.5.0/runix-server_linux_amd64
curl -fsSL https://runix-releases.s3-alpha-web.astra-dev.online/v0.5.0/SHA256SUMS | sha256sum -c --ignore-missing