Skip to main content

Requirements

Hardware​

DaoFlow does not publish a universal minimum for either workflow profile. Until a final build is linked to reproducible constrained-host evidence, use the conservative production starting points below and rehearse your own workload on staging. The QA targets describe the acceptance runs used to evaluate smaller hosts; they are not capacity promises.

The lean profile completed one documented 1 vCPU / 1 GiB acceptance run, including login, localhost server registration, and an image deployment. See the 2026-07-18 lean workflow profile QA evidence. This remains a point-in-time result rather than a universal minimum.

Workflow profileServicesConservative production starting pointConstrained QA targetFree disk
Lean (default)daoflow, postgres, redis2 vCPU / 4 GiB RAM1 vCPU / 1 GiB RAM, no swap30 GB
Temporal (explicit)Lean services plus temporal-postgresql, temporal4 vCPU / 8 GiB RAM2 vCPU / 4 GiB RAM, exact worker health50 GB

Image builds, concurrent deployments, application containers, logs, backup retention, and Temporal workflow history all increase required capacity. The separate temporal-ui profile is optional and should be included in sizing when enabled. Final measured results belong in a repository evidence record that names the tested commit and image tag and excludes private QA host details. On a constrained QA host, leave the server's maximum concurrent builds at the default of 1 and increase it only after observing sustained CPU, memory, and disk headroom. Keep backups outside the host's working volumes where possible.

NetworkInterim requirementPreferred
AccessPublic IP or Tailscale/Cloudflare TunnelStatic IP with DNS

Software​

SoftwareVersion
LinuxUbuntu 22.04+, Debian 12+, Rocky 9+, or any Docker-capable distro
Docker Engine20.10+
Docker Composev2.0+

macOS is supported for development but not recommended for production.

Managed Servers​

Each server you deploy to needs:

  • SSH access with key-based authentication
  • Docker Engine 20.10+ installed
  • Docker Compose v2+ installed
  • User in the docker group (or sudo access)
  • Outbound internet for pulling images (or a local registry)

Ports​

PortServiceDefault
3000DaoFlow web UI + APIConfigurable via PORT env var
5432PostgreSQLInternal only
6379RedisInternal only
7233TemporalInternal only, temporal profile
8233Temporal UILocalhost only, separate opt-in

Database​

DaoFlow uses PostgreSQL 17 with the pgvector extension for future embedding features. The database should be backed up independently. Stopping or switching profiles does not by itself delete named volumes; explicit data-removal commands are destructive and should follow a verified backup.