Skip to main content
The docker runtime runs each agent in a container of your image. The agent sees its worktree, its logs and the hosts that you allow, and nothing else of the machine. Set it in the config.toml of the home:
Then pick it in the campaign’s piloop.toml, for every role or for one:

The image

The image holds the harness CLIs that your campaigns use, git, and glibc. piloop runs its own CLI in the container from the worker’s install, so the image does not need piloop:
Add the tools that the agents use to test their work, such as uv or a compiler.

The login

The container has an empty home, so your own login of the harness is not there. Give the harness a key:
To use a subscription, run a gateway on the machine that holds the login. Point the harness at it, and allow it:

What the container sees

An agent that asks for any other host gets a 403 from the proxy. The container runs as your user, so its commits are yours. When the agent ends, piloop removes the container and its home.