Acahti
Menu

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

  1. Point your proxy or tunnel at the gateway and open the instance URL.
  2. Invite members from the web app. Each person joins at <instance>/join.
  3. 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