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/cli

On 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/Ubuntu

openacme 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 start

On 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 stop

Headless setup (no desktop)

A server has no browser to click through, so connect a model one of these ways:

  • Wizardopenacme setup prompts for a provider and key in the terminal.
  • API key — set ANTHROPIC_API_KEY (or OPENAI_API_KEY, OPENROUTER_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY) before starting.
  • Subscription sign-inopenacme login --device prints 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.