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:
- Installs
runeandrunedto/usr/local/bin. - Installs Docker if not already present.
- Creates the
runesystem user and/var/lib/runefor state (BadgerDB + KEK). - 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:
| Target | What it does |
|---|---|
make setup | Installs lint and protobuf tooling. |
make build | Builds both binaries to bin/. |
make test | Runs unit tests. |
make proto | Regenerates protobuf code. |
make lint | Runs 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.