Self-hosting
Run OpenAcme on a server or VM — it's a normal background service
OpenAcme is a single Node process. It runs anywhere Node runs — your laptop, a cloud VM, or a home server — and keeps everything on disk, so agents have the whole machine to work with and nothing is lost between restarts.
Install
Node 18+ is the only requirement.
npm install -g @openacme/cliOn Linux, install a few system packages so agent tools run sandboxed rather than unconfined — OpenAcme isolates each agent's tools with bubblewrap, and uses ripgrep for fast search:
sudo apt install -y bubblewrap socat ripgrep # Debian/Ubuntuopenacme start checks for these and offers to install them for you. Without
them the daemon still runs, but tools execute unconfined (you'll see a
SANDBOX UNAVAILABLE warning). macOS sandboxes natively — no extra packages.
Run it as a service
openacme startOn first run this installs a background service — systemd on Linux, launchd on macOS — so OpenAcme keeps running after you log out and restarts on reboot. Manage it with:
openacme status # up? pid, bind, uptime
openacme logs -f # follow the log
openacme restart
openacme stopHeadless setup (no desktop)
A server has no browser to click through, so connect a model one of these ways:
- Wizard —
openacme setupprompts for a provider and key in the terminal. - API key — set
ANTHROPIC_API_KEY(orOPENAI_API_KEY,OPENROUTER_API_KEY,GOOGLE_GENERATIVE_AI_API_KEY) before starting. - Subscription sign-in —
openacme login --deviceprints a code to enter on another device, so OAuth works without a local browser.
Where your data lives
Everything is under ~/.openacme/ — config, agents, tasks, memory,
conversations, and skills. To back up or move to another machine, copy that one
directory.
Sizing
A small box is plenty to start — around 3 GB of RAM is comfortable, including headroom for agents driving the browser. Size up for more demanding work or a large number of agents. Any always-on Linux host works, from a cheap cloud VM to a home server.
Reaching it from elsewhere
By default OpenAcme listens on 127.0.0.1 only — no login, since the local
machine is trusted. To share it, run openacme expose: that requires a
login for everyone and opens the port so a tunnel or proxy can forward to it. On
first run, openacme claim prints the setup link to create your account, then
openacme invite adds anyone else (openacme expose --off turns sharing back
off).
The easiest way to actually reach it is a tunnel — see
Remote access, with no reverse proxy, certificates, or DNS
to set up. If you already run a reverse proxy (nginx, Caddy) with a domain and
TLS, point it at http://localhost:3456 instead.