3.0 KiB
Installation
qu ships as a single static Linux binary. Pick whichever method
matches how you manage software on the host.
Choosing a deployment recipe instead? Jump to systemd, Docker, Tailscale, or public-internet.
Pre-built binary (recommended)
Releases are published to the Gitea releases
page with a
SHA256SUMS file. Two architectures are built: linux-amd64 and
linux-arm64.
# Always pin to a tag — `latest` resolves on the server side.
TAG=v0.1.0
ARCH=amd64 # or arm64
curl -fSL -o qu \
"https://git.cer.sh/axodouble/quptime/releases/download/${TAG}/qu-${TAG}-linux-${ARCH}"
curl -fSL -o SHA256SUMS \
"https://git.cer.sh/axodouble/quptime/releases/download/${TAG}/SHA256SUMS"
# Verify before installing.
sha256sum --check --ignore-missing SHA256SUMS
install -m 0755 qu /usr/local/bin/qu
One-line install script
The repo ships an install.sh that handles the download, checksum,
shell-completion installation, and a default systemd unit file. Run it
under sudo so it can write to /usr/local/bin and
/etc/systemd/system.
curl -fsSL https://git.cer.sh/Axodouble/QUptime/raw/branch/master/install.sh | sudo bash
What it does:
- Looks up the latest release via the Gitea API.
- Downloads the binary to
/usr/local/bin/qu. - Installs bash / zsh / fish completion if a target directory exists.
- Writes
/etc/systemd/system/qu-serve.serviceand enables it (but does not start it — you need to runqu initfirst).
The unit it writes is minimal. For a production unit with hardening, see the systemd deployment guide.
Build from source
Requires Go 1.24.2 or newer.
git clone https://git.cer.sh/axodouble/quptime.git
cd quptime
go build -ldflags "-X main.version=$(git describe --tags --always)" -o qu ./cmd/qu
./qu --version
Static binary, no cgo. CGO_ENABLED=0 is the default on a clean Go
install; if you've enabled cgo globally, set it explicitly:
CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o qu ./cmd/qu
Docker image
A multi-arch (amd64 + arm64) image is published to the Gitea
registry on every tag and every push to master:
git.cer.sh/axodouble/quptime:master # tip of main
git.cer.sh/axodouble/quptime:v0.1.0 # tagged release
See the Docker deployment guide for compose files and volume layout.
Verifying the install
qu --version
qu --help
If completions installed, qu <tab> will list subcommands. After
qu init you can run qu status to confirm the daemon is reachable
over its control socket.
Next steps
- Configure the node and the cluster.
- Pick a deployment recipe under docs/deployment/.
- Walk through the architecture so the operational guarantees are clear before you commit to a topology.