Installing ACE
ACE supports Linux and macOS only. It does not build on Windows. On a Windows host, run ACE in WSL or in the container image. Keep its output directory on the Linux file system, not on a Windows drive: ACE protects reports with POSIX file modes, and Windows drives do not keep them.
Reports written by earlier Windows builds keep their Windows ACLs, even after you move ACE to WSL. Other local users may be able to read the table rows in them. Delete these reports, or restrict their ACLs by hand.
Choose the option that fits your environment:
- Go install (fastest if you have Go toolchains)
- Download a release tarball
- Run the published container image
Install via Go
Requires Go 1.26+. No CGO or system SQLite libraries needed — the project uses a pure-Go SQLite driver.
# Latest release
go install github.com/pgedge/ace/cmd/ace@latest
# Specific version — update to the latest tag from GitHub Releases
go install github.com/pgedge/ace/cmd/[email protected]
The binary lands in GOBIN if set, otherwise $GOPATH/bin (defaults to ~/go/bin). Add that to your PATH:
export PATH="$(go env GOBIN || go env GOPATH)/bin:$PATH"
Download a release tarball
Grab the prebuilt archive for your platform from GitHub Releases and unpack the ace binary:
ACE_VER=v1.9.0 # update to the latest tag from GitHub Releases
OS=Linux # or Darwin
ARCH=x86_64 # or arm64
curl -fsSL "https://github.com/pgedge/ace/releases/download/${ACE_VER}/ace_${OS}_${ARCH}.tar.gz" -o /tmp/ace.tgz
tar -xzf /tmp/ace.tgz -C /tmp
sudo install -m 0755 /tmp/ace/ace /usr/local/bin/ace
Notes:
- macOS uses Darwin.
Run with Docker/Podman
Use the published multi-arch image (amd64/arm64):
docker run --rm -it ghcr.io/pgedge/ace:latest --help
For real use, mount your configs and workspace; see Running ACE with Docker for full examples (ephemeral runs, API server, scheduler).
After install: bootstrap config
Generate starter configs (if you don’t have them yet):
ace config init --path ./ace.yaml
ace cluster init --path ./pg_service.conf
Edit both files for your clusters/nodes before running commands.