Advanced Deployment

Use the one-line installer in the README for normal local use. This page is for manual Docker, production-style, and multi-service deployments.

Manual Local Docker

export PRAETOR_SESSION_SECRET="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"
export PRAETOR_SETUP_TOKEN="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"
docker compose -f compose.app.yaml up --build

Open:

Reference:

Production-Style Monolithic Docker

Use Docker secrets or _FILE environment variables for real secrets.

docker compose -f compose.app.yaml -f compose.app.production.yaml up --build -d

Multi-Service Stack

docker compose -f compose.yaml up --build

Open:

Production overlay:

docker compose -f compose.yaml -f compose.production.yaml up --build -d

Host Executor Bridge

Praetor can call host-side tools such as Codex or Claude Code through praetor-execd. Keep the bridge outside Docker so the container does not need direct access to host credentials or the Docker socket.

Decision rule:

Bridge mode keeps the normal local install simple: Docker runs Praetor, the host keeps executor credentials, and workspace paths are mapped through the bridge config.

See: