Skip to content

Configuration

Configuration is managed via the .env file in apps/backend/docker-compose/.

VariableDefaultDescription
POSTGRES_USERflowlikeDatabase username
POSTGRES_PASSWORDflowlike_devDatabase password
POSTGRES_DBflowlikeDatabase name
POSTGRES_PORT5432Host port mapping
VariableDefaultDescription
API_PORT8080API HTTP port
METRICS_PORT9090Prometheus metrics port
RUST_LOGinfoLog level (debug, info, warn, error)
VariableDefaultDescription
RUNTIME_PORT9000Runtime HTTP port
MAX_CONCURRENT_EXECUTIONS10Max parallel executions
EXECUTION_TIMEOUT_SECONDS3600Timeout per execution (1 hour)

These keys enable stateless trust between API and execution runtimes:

VariableRequiredDescription
EXECUTION_KEYYesBase64-encoded ES256 private key
EXECUTION_PUBYesBase64-encoded ES256 public key
EXECUTION_KIDNoKey identifier (default: execution-es256-v1)

Generate these using:

Terminal window
./tools/gen-execution-keys.sh
VariableDefaultDescription
STORAGE_PROVIDERawsProvider: aws, azure, gcp
META_BUCKETflow-like-metaMetadata bucket name
CONTENT_BUCKETflow-like-contentContent bucket name
LOG_BUCKETflow-like-logsLogs bucket name

See Storage Providers for provider-specific configuration.

The API can proxy LLM requests to various providers:

VariableDescription
OPENROUTER_API_KEYOpenRouter API key (default provider)
HOSTED_OPENAI_API_KEYOpenAI API key
HOSTED_ANTHROPIC_API_KEYAnthropic API key
HOSTED_AZURE_API_KEYAzure OpenAI API key
HOSTED_AZURE_ENDPOINTAzure OpenAI endpoint URL
VariableDefaultDescription
METRICS_ENABLEDtrueEnable Prometheus metrics
METRICS_PORT9090Metrics endpoint port
SENTRY_DSNSentry error tracking DSN
# Database
POSTGRES_PASSWORD=your-secure-password
# Storage (AWS S3 example)
STORAGE_PROVIDER=aws
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=AKIA...
AWS_SECRET_ACCESS_KEY=...
META_BUCKET=my-flow-like-meta
CONTENT_BUCKET=my-flow-like-content
LOG_BUCKET=my-flow-like-logs
# JWT Keys (generated with gen-execution-keys.sh)
EXECUTION_KEY=...
EXECUTION_PUB=...