Runix v0.5.0: README and installer

This commit is contained in:
svesnav
2026-07-27 02:19:11 +03:00
parent 7ff97ee9c0
commit 3faa4927cf
2 changed files with 1473 additions and 2 deletions
+87 -2
View File
@@ -1,3 +1,88 @@
# runix # Runix
Runix � infrastructure management platform. Install & update binaries. 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.
```sh
curl -fsSL https://vcs.astra-dev.online/svesnav/runix/raw/branch/main/install.sh | sudo sh
```
Prefer to pin a version, or your instance still requires sign-in to read raw
files? Use the release asset instead — it downloads without a login:
```sh
curl -fsSL https://vcs.astra-dev.online/svesnav/runix/releases/download/v0.5.0/install.sh | sudo sh -s -- --role all-in-one
```
### 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:
```sh
curl -fsSL https://vcs.astra-dev.online/svesnav/runix/raw/branch/main/install.sh | sudo sh -- -y
```
Or update from the UI: an administrator sees an **Updates** page that checks
this repository 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_API_BASE=https://vcs.astra-dev.online/api/v1
RUNIX_UPDATE_REPO=svesnav/runix
```
## Releases
Each release publishes, for `linux/amd64` and `linux/arm64`:
- `runix-server_linux_<arch>` — the control plane
- `runix-agent_linux_<arch>` — the agent
- `install.sh` — this installer
- `SHA256SUMS` — checksums; the installer verifies every download against it
Binaries are built automatically from source on tag by the CI runner and
published here and to the source repository.
## Verify a download by hand
```sh
curl -fsSLO https://vcs.astra-dev.online/svesnav/runix/releases/download/v0.5.0/runix-server_linux_amd64
curl -fsSL https://vcs.astra-dev.online/svesnav/runix/releases/download/v0.5.0/SHA256SUMS | sha256sum -c --ignore-missing
```
Executable
+1386
View File
File diff suppressed because it is too large Load Diff