Skip to content

Environment Variables

All configuration is supplied via a .env file at the project root. Copy config/dev.env.template to .env to get started.

Required — core services

VariableExampleDescription
POSTGRES_HOSTpostgresHostname of the PostgreSQL container
POSTGRES_PORT5432PostgreSQL port
POSTGRES_DBpurple8Database name
POSTGRES_USERpurple8Database user
POSTGRES_PASSWORD(secret)Database password — never commit this
JWT_SECRET(secret, min 32 chars)Signs all JWT access tokens
JWT_EXPIRY_SECONDS3600Token lifetime
RABBITMQ_HOSTrabbitmqRabbitMQ hostname
RABBITMQ_DEFAULT_USERpurple8RabbitMQ user
RABBITMQ_DEFAULT_PASS(secret)RabbitMQ password
MINIO_ENDPOINTminio:9000MinIO endpoint (artifact storage)
MINIO_ROOT_USERpurple8MinIO access key
MINIO_ROOT_PASSWORD(secret)MinIO secret key
REDIS_URLredis://redis:6379/0Redis connection string

Required — LLM providers

Provide at least one of the following. Builder uses the first configured provider unless LLM_PROVIDER is set explicitly.

VariableDescription
OPENAI_API_KEYOpenAI key (GPT-4o, GPT-4o-mini)
ANTHROPIC_API_KEYAnthropic key (Claude 3.5 Sonnet)
GOOGLE_API_KEYGoogle key (Gemini 1.5 Pro)
LLM_PROVIDEROverride auto-detection: openai · anthropic · google · ollama
LLM_MODELOverride the default model (e.g. gpt-4o-mini)

Required — Purple8 Graph integration

VariableExampleDescription
PURPLE8_GRAPH_URLhttp://purple8-graph:8100Graph service URL
PURPLE8_GRAPH_API_KEY(secret)API key issued by the Graph service

Optional — local LLM

VariableExampleDescription
OLLAMA_BASE_URLhttp://host.docker.internal:11434Ollama server URL
OLLAMA_MODELllama3.2Model name to use for local inference

Optional — features

VariableDefaultDescription
HITL_ENABLEDfalseEnable human-in-the-loop checkpoints globally
MEMORY_ENABLEDtrueEnable the two-tier memory system
SANDBOX_TIMEOUT300Default sandbox session timeout (seconds)
MAX_PIPELINE_CONCURRENCY3Max simultaneous pipeline runs
LOG_LEVELinfoOne of debug · info · warning · error
SENTRY_DSNSentry DSN for error tracking (optional)

Optional — licensing

VariableDescription
PURPLE8_LICENSE_KEYCommercial license key (required for PLUS mode and enterprise features)
PURPLE8_LICENSE_TIERdeveloper · team · enterprise — auto-detected from key

Secrets management

For production, inject secrets via your orchestrator's native secret management rather than a plain .env file:

  • Docker Compose: use secrets: blocks
  • Kubernetes: use Kubernetes Secrets or external secret operators (e.g. External Secrets Operator with AWS SSM / Vault)
  • Render / Railway: use environment variable groups in the platform UI

Never commit .env files containing real credentials. The .gitignore at the project root already excludes .env.

Purple8 Builder is proprietary software. All rights reserved.