Temporal Configuration

Reference for configuring Temporal connectivity in Compozy.

Configuration Structure

compozy.yaml
temporal:
  mode: remote | standalone
  host_port: localhost:7233
  namespace: default
  task_queue: compozy-tasks
  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
    log_level: warn
    start_timeout: 30s

Mode Selection

FieldDescriptionDefault
moderemote (default) uses an external Temporal cluster. standalone starts the embedded Temporal server.remote
host_portTemporal endpoint in host:port format. Overridden automatically when mode=standalone.localhost:7233
namespaceDefault Temporal namespace for workflows. Create unique namespaces per environment.default
task_queuePrimary task queue that Compozy workers poll.compozy-tasks

Standalone Options

FieldDescriptionDefault
database_fileSQLite path. Use :memory: for ephemeral instances or a file path for persistence.:memory:
frontend_portAnchors the port block used by Temporal services (frontend + history + matching + worker).7233
bind_ipInterface to bind Temporal services. Keep 127.0.0.1 for safe development defaults.127.0.0.1
namespaceNamespace created automatically when the embedded server starts.default
cluster_nameCluster identifier for the embedded server. Useful when inspecting metrics or logs.compozy-standalone
enable_uiToggle the Temporal Web UI bundled with standalone mode.true
ui_portHTTP port for the Temporal Web UI.8233
log_levelTemporal server log level (debug, info, warn, error).warn
start_timeoutMaximum time to wait for Temporal startup before failing (time.Duration format).30s

Environment Variables & CLI Flags

Config PathEnvironment VariableCLI Flag
temporal.modeTEMPORAL_MODE--temporal-mode
temporal.host_portTEMPORAL_HOST_PORT--temporal-host
temporal.namespaceTEMPORAL_NAMESPACE--temporal-namespace
temporal.task_queueTEMPORAL_TASK_QUEUE--temporal-task-queue
temporal.standalone.database_fileTEMPORAL_STANDALONE_DATABASE_FILE--temporal-standalone-database
temporal.standalone.frontend_portTEMPORAL_STANDALONE_FRONTEND_PORT--temporal-standalone-frontend-port
temporal.standalone.bind_ipTEMPORAL_STANDALONE_BIND_IP-
temporal.standalone.namespaceTEMPORAL_STANDALONE_NAMESPACE-
temporal.standalone.cluster_nameTEMPORAL_STANDALONE_CLUSTER_NAME-
temporal.standalone.enable_uiTEMPORAL_STANDALONE_ENABLE_UI-
temporal.standalone.ui_portTEMPORAL_STANDALONE_UI_PORT--temporal-standalone-ui-port
temporal.standalone.log_levelTEMPORAL_STANDALONE_LOG_LEVEL-
temporal.standalone.start_timeoutTEMPORAL_STANDALONE_START_TIMEOUT-

Validation Rules

  • Mode enum

    Only remote and standalone are accepted values for temporal.mode.

  • Port ranges

    frontend_port and ui_port must be between 1 and 65535. frontend_port reserves a block of four contiguous ports.

  • IP address validation

    bind_ip must be a valid IP string. IPv4 loopback is recommended for development.

  • Log level enum

    log_level accepts debug, info, warn, or error.

  • Start timeout

    start_timeout must be positive. Increase it if your machine boots Temporal slower than 30 seconds.

Usage Patterns

Remote mode deployment
export TEMPORAL_MODE=remote
export TEMPORAL_HOST_PORT=temporal.prod.internal:7233
compozy start --temporal-namespace=compozy-prod