Standalone Mode Deployment
Run Compozy as a single process with embedded Temporal and an optional embedded Redis-compatible cache.
When to Use Standalone
- Local development
Zero-deps setup. Run Compozy with an embedded Temporal server and built‑in cache.
- Ephemeral CI & tests
Deterministic, fast startup for integration tests. No Docker or external clusters.
- Samples and workshops
Ship examples that boot end‑to‑end in seconds on any laptop.
Requirements
- Go 1.25+ (CLI runtime; project uses Go 1.25.2)
- macOS, Linux, or Windows
- Optional: PostgreSQL if your workflows use the database features
- No external Redis required (embedded compatible server covers cache use cases)
Quick Start
Create a minimal configuration with standalone mode enabled for both Temporal and the cache layer.
name: hello-standalone
version: "0.1.0"
mode: standalone
temporal:
mode: standalone
host_port: localhost:7233
standalone:
database_file: :memory:
frontend_port: 7233
bind_ip: 127.0.0.1
namespace: default
cluster_name: compozy-standalone
enable_ui: true
ui_port: 8233
redis:
mode: standalone
standalone:
persistence:
enabled: false # enable for snapshots
dir: ./.tmp/redis # snapshot directory when enabled
interval: 60s # snapshot interval
workflows:
- source: ./workflows/greeting.yamlStart Compozy with explicit overrides (optional; YAML takes precedence):
compozy start --temporal-mode=standalone --temporal-standalone-database=:memory:Open the Temporal UI at http://localhost:8233 and run a sample workflow.
Configuration Reference
- Global mode: see Mode Configuration
- Temporal options: see Temporal Configuration
- Cache options: see Redis Configuration
Minimal Standalone (Ephemeral)
mode: standalone
temporal:
mode: standalone
standalone:
database_file: :memory:
redis:
mode: standalone
standalone:
persistence:
enabled: falseStandalone with Persistence
mode: standalone
temporal:
mode: standalone
standalone:
database_file: ./.tmp/temporal.db
redis:
mode: standalone
standalone:
persistence:
enabled: true
dir: ./.tmp/redis
interval: 30sVerify the Setup
Server is running
compozy start shows HTTP and Temporal ports; Temporal UI responds at the configured ui_port.
Workflow executes
Run compozy workflow run ./workflows/greeting.yaml --input '{"name":"Ava"}' and confirm success in the UI.
Cache operational
Run features that use caching (rate limits, stores). With persistence enabled, restart and verify data restores.
Performance Expectations
- Startup: typically under 10 seconds on modern laptops
- Throughput: lower than multi‑node clusters; suitable for individual developers and CI
- UI: convenient for debugging, disable in CI for faster boots (
enable_ui: false)
Troubleshooting
Common issues and fixes:
- Port conflict on
7233–7236or8233: Adjusttemporal.standalone.frontend_portorui_port - Startup timeout: Increase
temporal.standalone.start_timeout(e.g.60s) - Snapshot errors: Verify
redis.standalone.persistence.dirwrite permissions
See Temporal Troubleshooting and Common Issues.