Mode Configuration
Control global and per-component deployment modes (standalone vs distributed).
Compozy supports two operational modes: standalone and distributed (aka remote). You select a global default and optionally override per component.
Overview
- Global mode
Set
mode: standalone|distributedat the root to establish a default for all components. - Per‑component override
Each component (e.g.,
temporal,redis) can specify its ownmodeto override the global setting. - Resolution order
Component mode (if set) → global
mode(if set) → component default (usuallydistributed).
Configuration Structure
# Global default
mode: standalone | distributed
temporal:
mode: standalone | remote # "remote" is the distributed mode for Temporal
# ...other temporal fields
redis:
mode: standalone | distributed
# ...per-mode fieldsExamples
Pure Standalone
mode: standalone
temporal:
mode: standalone
standalone:
database_file: :memory:
redis:
mode: standalone
standalone:
persistence:
enabled: falsePure Distributed
mode: distributed
temporal:
mode: remote
host_port: temporal.prod.internal:7233
namespace: compozy-prod
redis:
mode: distributed
distributed:
addr: redis.prod.internal:6379
password: ${REDIS_PASSWORD}
tls:
enabled: trueMixed Mode (Local Dev)
mode: standalone
temporal:
mode: standalone
standalone:
database_file: ./.tmp/temporal.db
redis:
mode: distributed # use real Redis while keeping Temporal embedded
distributed:
addr: localhost:6379
password: ""Environment & CLI Overrides
Use environment variables or flags to switch quickly:
| Path | Env | Flag |
|---|---|---|
mode | COMPOZY_MODE | --mode |
temporal.mode | TEMPORAL_MODE | --temporal-mode |
redis.mode | REDIS_MODE | --redis-mode |
Validation
- Unknown modes are rejected with a clear error (valid:
standalone,distributed,remotewhere applicable) - Fields must be valid for the selected mode (e.g.,
redis.distributed.addrrequired whenredis.mode=distributed) - Mode conflicts surface actionable diagnostics in
compozy configcommands