CellarCellar
Install

Build & install

Build Cellar binaries, install systemd units, and download GitHub Releases

curl installer

curl -fsSL https://cellar.prodioslabs.in/install.sh | bash

Install v0.5.0

Previous versions do not use microsandbox. Pin the installer:

curl -fsSL https://cellar.prodioslabs.in/install.sh | CELLAR_VERSION=v0.5.0 bash

The installer detects linux / darwin and amd64 / arm64 (macOS is Apple Silicon / arm64 only — Intel Macs are not supported), verifies archives against checksums.txt, and always installs cellar + cellard (plus matching systemd units and sysusers on Linux; LaunchAgents under ~/Library/LaunchAgents on macOS with a default prefix of ~/.local). It uses sudo when needed, but does not enable or start the services.

cellar-gateway is optional. On a TTY with no flag, the installer asks Install cellar-gateway? [y/N]. Without a TTY it skips the gateway. Set the choice non-interactively:

curl -fsSL https://cellar.prodioslabs.in/install.sh | bash -s -- --install-cellar-gateway true
curl -fsSL https://cellar.prodioslabs.in/install.sh | bash -s -- --install-cellar-gateway false
# or:
curl -fsSL https://cellar.prodioslabs.in/install.sh | INSTALL_CELLAR_GATEWAY=true bash

Advanced: CELLAR_COMPONENTS (comma/space list) fully overrides the component set and skips the gateway flag/prompt.

To set a prefix:

curl -fsSL https://cellar.prodioslabs.in/install.sh | CELLAR_VERSION=v0.5.0 CELLAR_PREFIX=/usr/local bash

GitHub Releases

Tag vX.Y.Z (or a SemVer prerelease such as vX.Y.Z-rc.1) to publish Linux amd64 / arm64 and macOS arm64 bundles.

Download URLs follow a stable layout:

https://github.com/prodioslabs/cellar/releases/download/vX.Y.Z/cellar_X.Y.Z_linux_amd64.tar.gz
https://github.com/prodioslabs/cellar/releases/download/vX.Y.Z/cellar_X.Y.Z_linux_arm64.tar.gz
https://github.com/prodioslabs/cellar/releases/download/vX.Y.Z/cellar_X.Y.Z_darwin_arm64.tar.gz
https://github.com/prodioslabs/cellar/releases/download/vX.Y.Z/checksums.txt

Each tarball contains cellar, cellard, cellar-gateway, LICENSE, README.md, and contrib/.

From source

make build                  # → bin/cellard, bin/cellar, bin/cellar-gateway
# or: make cellard / make cellar / make cellar-gateway

sudo make install           # Linux: binaries → /usr/local/bin, plus systemd units + sysusers from contrib/
make install                # macOS: binaries → ~/.local/bin (no sudo), LaunchAgents under ~/Library/LaunchAgents

Requires Go 1.26+. cellard is built with CGO_ENABLED=1 (microsandbox FFI / KVM). Hosts need /dev/kvm (Linux) or Virtualization.framework (macOS). make install places the three binaries next to each other. It also installs:

SourceDestination (Linux)
contrib/systemd/cellard.service/usr/lib/systemd/system/cellard.service
contrib/systemd/cellar-gateway.service/usr/lib/systemd/system/cellar-gateway.service
contrib/systemd/cellar.sysusers/usr/lib/sysusers.d/cellar.conf
SourceDestination (macOS)
host binaries~/.local/bin/
contrib/launchd/com.prodioslabs.cellard.plist~/Library/LaunchAgents/com.prodioslabs.cellard.plist
contrib/launchd/com.prodioslabs.cellar-gateway.plist~/Library/LaunchAgents/com.prodioslabs.cellar-gateway.plist

make install does not enable or start the services. On macOS, load agents with launchctl bootstrap gui/$(id -u) …. Use make uninstall to remove the installed files. After install on Linux, add the cellar user to the kvm group so sandboxes can open /dev/kvm.

Version stamping

cellar, cellard, and cellar-gateway share one SemVer. make build injects version, commit, and build date via ldflags (override with VERSION=…, COMMIT=…, BUILD_DATE=…).

cellar --version
cellard -version
cellar-gateway -version

On this page