Docs
Install
Self-host an Acahti instance with one command, or have your coding agent run it over SSH.
On a Linux host, as a sudoer:
curl -fsSL https://acahti.benchyard.com/install.sh | bash -s -- --domain acahti.example.com
The script installs Docker if it is missing, pulls the release image from ghcr.io/benchyard/acahti, copies its compose file and host scripts into ~/acahti, generates secrets into ~/acahti/.env, and starts the instance. Nothing is built on the host.
Or let your coding agent do it:
Install https://acahti.benchyard.com/install.md
Self-host Acahti on my infrastructure. Ask me for the domain, SSH access, and Runner host.
Have ready
- A Linux host with sudo and at least 2 GiB RAM.
- A public HTTPS hostname. You terminate TLS at your own reverse proxy or tunnel and forward it to the gateway.
- Optionally, a second host for the Runner, reachable over SSH from the first. CI never runs on the control plane.
Options
| Option | .env |
Meaning |
|---|---|---|
--domain HOST |
DOMAIN, ROOT_URL |
Public hostname; required on first install |
--org NAME |
ACAHTI_ORG |
Organization repositories live under (default acme) |
--runner SSH |
ACAHTI_BUILD |
Runner host, set up over SSH, such as ci@10.0.0.5 |
--modules LIST |
ACAHTI_MODULES |
Optional modules: work, argos, chat |
--bind ADDR |
GATEWAY_BIND |
Gateway listen address (default 127.0.0.1:8080; 0.0.0.0:8080 when a Runner is set) |
--version X.Y.Z |
ACAHTI_VERSION |
Release to install (default: the latest) |
--dir PATH |
Install directory (default ~/acahti) |
Options are written to .env and kept for later runs. With the argos module, also set ARGOS_TOKEN in .env. Data lives under ACAHTI_DATA (default /var/lib/acahti).
After install
- Point your proxy or tunnel at the gateway and open the instance URL.
- Invite members from the web app. Each person joins at
<instance>/join. - Paste the agent prompt from the instance home page into a coding agent, open the Board, and watch it run the demo loop.
Upgrade
Back up PostgreSQL and ACAHTI_DATA, then run the installer again:
curl -fsSL https://acahti.benchyard.com/install.sh | bash
It installs the latest release, keeps .env and data, and resyncs the Runner. --version pins a release. Never docker compose down -v on a live instance.
For agents: install.md