Runix v0.5.0: README and installer
This commit is contained in:
@@ -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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user