Skip to main content

Operate The Service

The generated helper lives in the deployment directory. It is not a separate global console app.

Inspect and edit

# Show generated paths and Docker Compose version.
./arbiter-docker/arbiter-docker info

# Check deployment files and Docker Compose availability.
./arbiter-docker/arbiter-docker doctor

# Also check common permission mistakes for the agent user.
./arbiter-docker/arbiter-docker doctor --agent-user codex

# Edit Agent Arbiter runtime values and credentials.
./arbiter-docker/arbiter-docker edit-env

# Edit Docker wrapper settings.
./arbiter-docker/arbiter-docker edit-docker

# Edit pinned Agent Arbiter core/plugin package requirements.
./arbiter-docker/arbiter-docker edit-requirements
  • info: print generated paths and Docker Compose version.
  • doctor: check that generated files exist, env files use KEY=VALUE syntax, requirements.txt uses exact package pins or absolute container paths, and Docker Compose is available.
  • doctor --agent-user USER: also check common permission mistakes for an agent identity, such as write access to deployment files, read access to conf/.env, or Docker socket access.
  • edit-env: edit Agent Arbiter runtime values and credentials.
  • edit-docker: edit Docker wrapper settings.
  • edit-requirements: edit the pinned packages installed inside the container.

Run locally

For a prepared local directory:

./arbiter-docker/arbiter-docker up
./arbiter-docker/arbiter-docker ps
./arbiter-docker/arbiter-docker logs
./arbiter-docker/arbiter-docker restart
./arbiter-docker/arbiter-docker down
  • up: start or update the Compose service.
  • ps: show Docker Compose service status.
  • logs: follow Docker Compose logs.
  • restart: recreate the container, which also reinstalls the configured requirements.
  • down: stop and remove the Compose service.

After Linux install, prefer systemd:

sudo systemctl status arbiter.service
sudo systemctl restart arbiter.service
sudo journalctl -u arbiter.service -f

Update generated files

Use update to refresh a deployment directory after Agent Arbiter changes its generated Docker templates:

arbiter-server deploy docker update

update may rewrite existing files that are still generated-owned. It uses the hidden manifest to tell the difference between generated files that are unchanged and files the operator has taken over:

  • Manifest-owned templates: compose.yaml and arbiter-docker are rewritten when they are missing, or when the manifest says Agent Arbiter generated them and their current content still matches the recorded hash. If one of those files exists but is not in the manifest, or if its hash changed, update skips it.
  • Local state files: docker.env is regenerated while preserving known and extra local values. conf/.env is not generated by deploy; create or update it with arbiter-server env bootstrap or arbiter-docker sync-env.
  • Requirements: update never rewrites an existing requirements.txt. If it is missing, update creates one from docker.requirement=... values or the default package/source requirements. If that default is a local checkout source install, it also creates compose.override.yaml when the override is missing.

To change the deployed Agent Arbiter version or plugin set, edit the requirements file, then promote the prepared directory again:

./arbiter-docker/arbiter-docker edit-requirements
./arbiter-docker/arbiter-docker doctor --preinstall
sudo ./arbiter-docker/arbiter-docker install --to /opt/arbiter --user arbiter