THE FIELD GUIDE / OPERATIONS

Controller & remote-worker deployments

Choose the deployment role, then provision the database, identity and shared state deliberately.

Mr Patchy documentation · 2 min read

Choose a role

A complete installation keeps the app, worker and Caddy on one machine. Controller-only deployment keeps web administration and TLS with the controller; worker-only deployment can scale independently on the same host or a standalone machine.

Deployment fileRole
compose.yamlComplete app, worker and Caddy installation
compose.controller.yamlController and Caddy with separate workers
compose.worker.yamlWorker-only host or multiple worker replicas

Provision more than a database URL

Use MySQL 8+ for multi-machine deployments. Supply the correct shared encryption material, per-target SSH identities, encrypted repository/database profiles, trust bundles, trusted scanner/vendor artifacts and required evidence state. Provision persistent shared state with explicit access, rotation, backup and recovery controls, separate from disposable worker caches. A worker must not silently create a different key and claim it is ready.

Keep role startup independent

A worker-only host starts without a local web application, Caddy or TLS administration. Compatible application/schema/receipt protocols and controller/key identity are checked before claims. Network paths cover database TLS, supported shared state, target SSH, repositories and any integration routing. Existing host-key pinning and least-privilege bridge access remain.

Scale, drain and maintain

Each worker has a distinct identity, boot/session ownership, heartbeat and configured capacity. Graceful drain stops new claims and safely finishes or records active work. Lost workers retain honest interruption/recovery states without replaying destructive operations. Database migration, activation and maintenance safeguards coordinate across worker machines rather than assuming a controller-local file lock stopped remote work.

Start from a verified complete installation

The installation guide retains the existing complete-installation commands. Use role-specific repository configuration and the deployment health view when separating services. Verify secrets, storage, connectivity, version, schema and readiness before assigning target work. See controller redundancy and dependency-aware maintenance for clustered deployments.

Go deeper

Open the application reference for capability scope and technical details.

Open Open SECURITY_IMPLEMENTATION.md on GitHub ↗

Actual application interface with illustrative documentation data.