Skip to main content

Self-Hosting

DaoFlow is designed to run on your own infrastructure. This section covers the current production stack, staging rehearsal, environment configuration, SSL, and incident recovery.

Quick Start (CLI Installer)

The recommended way to deploy DaoFlow in production:

# Interactive — prompts for domain, admin email, password
curl -fsSL https://raw.githubusercontent.com/DaoFlow-dev/DaoFlow/main/scripts/install.sh | sh

# Non-interactive — fully automated
curl -fsSL https://raw.githubusercontent.com/DaoFlow-dev/DaoFlow/main/scripts/install.sh | sh -s -- \
--dir /opt/daoflow \
--domain deploy.example.com \
--email admin@example.com \
--password 'SecureP@ss123' \
--yes

See Installation for full details.

Or deploy manually with Docker Compose (see Docker Compose Setup).

Contents

GuideDescription
RequirementsHardware and software prerequisites
Docker ComposeProduction Docker Compose deployment
Staging RunbookRehearse operator bring-up safely
Incident RecoveryRecover from common operator failures
Environment VariablesAll configurable env vars
SSL & DomainsHTTPS and domain configuration
UpgradingUpgrading to new versions

Current Production Topology

The repository production stack is a normal Docker Compose project built from:

  1. daoflow — web UI, API, and worker entrypoint
  2. postgres — DaoFlow application database
  3. redis — streaming and transient coordination
  4. temporal-postgresql, temporal, temporal-ui — optional durable workflow substrate

Temporal services are present in the default compose file, but DaoFlow only switches from the legacy worker to Temporal-backed execution when DAOFLOW_ENABLE_TEMPORAL=true.

  1. Install or copy the reference compose stack
  2. Follow the staging runbook on a non-production host
  3. Verify deploy, rollback, backup, and log flows end to end
  4. Promote the same operational pattern to production
  5. Keep the incident recovery guide nearby for break-glass situations