Prepare Docker Deployment
Prepare the deployment directory as an unprivileged operator. This phase writes
files, config, and env locally; it does not start Docker or install anything
under /opt.
Create the directory
arbiter-server deploy docker init
By default this creates ./arbiter-docker. init refuses to overwrite existing
managed files and writes:
compose.yaml: Docker Compose service definition.docker.env: Docker Compose/container wrapper settings such as host port, image, restart policy, config directory/name, and network values.conf/: default config directory.initcreates the directory but not the config or env file.requirements.txt: Python packages or source paths installed inside the container.compose.override.yaml: only wheninitinfers a local checkout source install; mounts the checkout read-only at/source/agent-arbiter.arbiter-docker: the local helper script for this deployment..agent-arbiter-deploy.json: hidden manifest that records hashes for generated template files.
Add config
Either bootstrap a config into the default deployment config directory:
arbiter-server \
--config-dir ./arbiter-docker/conf \
--config-name arbiter-server \
bootstrap arbiter
Or copy an existing Agent Arbiter config directory to ./arbiter-docker/conf.
If you use a different directory or main config name, edit
AGENT_ARBITER_CONFIG_DIR or AGENT_ARBITER_CONFIG_NAME in docker.env.
Sync env
After the config exists, bootstrap or update its env file:
./arbiter-docker/arbiter-docker sync-env
sync-env runs arbiter-server env bootstrap against the configured config
directory. It creates or updates the config package's env file using the same
logic as the normal env command.
Keep docker.env separate from conf/.env: docker.env controls the Compose
wrapper, while conf/.env is created by Agent Arbiter env tooling and belongs
to the config package.
Preinstall check
Before promoting the directory to a host install:
./arbiter-docker/arbiter-docker doctor --preinstall
doctor --preinstall checks that the prepared directory is self-contained and
ready to promote. It skips Docker daemon checks and fails when source checkout
requirements or /source/agent-arbiter mounts are present, because local source
mounts are not production install state. For Linux install, switch
requirements.txt to pinned packages or /wheels/*.whl entries and remove the
local source mount.
For package pins, wheelhouses, and source checkout testing, see Packages and wheels.