Install
Three ways to run nohup. All of them serve the UI and API on a single port (default 8787).
Docker (recommended)
docker compose up -d # builds the image and runs it
Or build/run the image directly:
docker build -t nohup .
docker run -d --name nohup -p 8787:8787 \
-v nohup-data:/data \
-v "$PWD/workspaces:/workspaces" \
-v "$HOME/.claude:/root/.claude:ro" \
-v "$HOME/.codex:/root/.codex:ro" \
nohup
The image bundles git and Node (so the ACP agents can run). Mount your ~/.claude / ~/.codex
for the agents' login.
Self-contained binary
cargo build --release embeds the web UI into the binary, so you get a single executable that runs
anywhere — no separate dist/ needed.
# from a checkout (needs Rust + Node to build)
cd backend && cargo build --release
./target/release/backend # serves the embedded UI on :8787
Copy target/release/backend (rename it nohup) to any machine that has the agents installed
and logged in, plus git.
From source (development)
# terminal 1 — backend (build.rs builds the UI too)
cd backend && cargo run
# or run the UI with hot reload in dev
cd frontend && npm install && npm run dev # proxies /api to :8787
Next: install the Agents.