Deployment Guide¶
Production Deployment¶
In production, Conductor is deployed as a WitFoo Appliance — a dedicated Linux server running the WFA (WitFoo Agent) daemon as a systemd service.
Prerequisites¶
- Ubuntu 22.04 or 24.04 LTS (AMD64)
- Minimum 4 CPU cores and 8 GB RAM
- Docker Engine installed
- Network access to the container registry (or offline image loading)
- WitFoo license key (or 15-day trial)
Installation¶
-
Install the WFA package:
-
Run the interactive configuration wizard:
See the WFA CLI Reference for details on each configuration step.
-
Start the WFA daemon:
-
Enable auto-start at boot:
WFA will pull container images, create containers, and start all services in dependency order.
Service Dependency Order¶
WFA starts containers in the following order to satisfy inter-service dependencies:
- broker-edge — Must be healthy before any other service starts
- signal-server, signal-client, signal-parser — Connect to broker on startup
- artifact-filter — Consumes from signal-parser output
- artifact-exporter — Consumes from artifact-filter output
- conductor-ui — Connects to broker for configuration management
Health Checks¶
WFA monitors container health using Docker health checks. The broker-edge container includes a built-in health check:
Downstream services wait for broker-edge to report healthy before starting their connection attempts.
Development Deployment¶
For development and testing, Conductor can be deployed using Docker Compose.
Building from Source¶
# Build all service binaries
./scripts/conductor-build.sh all
# Build Docker images
docker compose -f docker-compose-conductor.yml build
Running with Docker Compose¶
External Network¶
The Docker Compose configuration uses an external network (witfoo-analytics-net) for integration with the WitFoo Analytics stack. Create this network before starting:
Volume Mounts¶
| Host Path | Container Path | Purpose |
|---|---|---|
/witfoo/configs | /configs (read-only) | Node configuration (node.json) |
/witfoo/certs | /certs (read-only) | TLS certificates |
/data | /data | Persistent data (NATS, SQLite) |
/logs | /logs | Service log files |