Installation

Install the rune CLI or the runed server with a one-liner. Both default to the latest release.

Rune ships as two binaries: rune (the CLI) and runed (the server). The fastest way to get either is a one-liner — both pull a prebuilt, checksum-verified binary for your OS/arch and default to the latest release.

CLI — your machine

Installs just the rune CLI. No root required:

curl -fsSL https://get.runestack.io | sh

It drops rune in /usr/local/bin (or ~/.local/bin if you're not root — it prints a PATH hint if that dir isn't on your PATH). Verify:

rune version

Server — a host

Installs both binaries plus Docker (if missing) and a systemd unit, then enables runed. Requires root, so pipe into sudo sh:

curl -fsSL https://install.runestack.io | sudo sh

What it does:

  1. Installs rune and runed to /usr/local/bin.
  2. Installs Docker if not already present.
  3. Creates the rune system user and /var/lib/rune for state (BadgerDB + KEK).
  4. Installs and enables runed.service.

After it finishes, bootstrap your first user.

Pinning a version & options

Both default to the latest release. To pin a version or pass options, append them after -s --:

# Pin the CLI, or install it somewhere on your PATH
curl -fsSL https://get.runestack.io | sh -s -- --version v0.0.1-dev.116
curl -fsSL https://get.runestack.io | sh -s -- --install-dir ~/.local/bin
 
# Pin the server version / set ports
curl -fsSL https://install.runestack.io | sudo sh -s -- --version v0.0.1-dev.116 --http-port 7861

:::note The one-liners are served from get.runestack.io / install.runestack.io, which front the install-cli.sh and install.sh scripts in the repo. You can always pipe those raw URLs directly if you prefer. :::

From source

Requires Go 1.23+.

git clone https://github.com/runestack/rune.git
cd rune
make setup
make build
 
# Or via go install
go install github.com/runestack/rune/cmd/rune@latest
go install github.com/runestack/rune/cmd/runed@latest
 
rune version

The CLI installer can build from source too — curl -fsSL https://get.runestack.io | sh -s -- --from-source.

The Makefile targets:

TargetWhat it does
make setupInstalls lint and protobuf tooling.
make buildBuilds both binaries to bin/.
make testRuns unit tests.
make protoRegenerates protobuf code.
make lintRuns golangci-lint.

Manual binary install

Grab a release tarball directly (replace VER with a release tag):

VER=v0.0.1-dev.116
ARCH=$(uname -m); case "$ARCH" in
  x86_64) ARCH=amd64 ;;
  aarch64|arm64) ARCH=arm64 ;;
  *) echo "Unsupported arch"; exit 1 ;;
esac
 
curl -L -o /tmp/rune.tgz \
  "https://github.com/runestack/rune/releases/download/$VER/rune_linux_${ARCH}.tar.gz"
sudo tar -C /usr/local/bin -xzf /tmp/rune.tgz rune runed

Upgrading

Re-run the installer — it overwrites in place with the latest release (or pin --version):

# CLI
curl -fsSL https://get.runestack.io | sh
 
# Server (rolls the systemd unit)
curl -fsSL https://install.runestack.io | sudo sh
runed --version
sudo systemctl status runed --no-pager | cat

Uninstall

sudo systemctl stop runed
sudo systemctl disable runed
sudo rm /etc/systemd/system/runed.service
sudo rm /usr/local/bin/rune /usr/local/bin/runed
# State (delete only if you really mean it):
sudo rm -rf /var/lib/rune /etc/rune

Verify

rune version
runed --version
sudo systemctl status runed --no-pager

If runed won't start, check:

sudo journalctl -u runed -n 100 --no-pager

Common issues are covered in Operations → Configuration.