Environment Variables
Environment-driven configuration exists in multiple layers of Agirunner.
Product Stack
Section titled “Product Stack”For the public product bring-up path, agirunner/.env is the main
entry point.
That top-level stack owns the bootstrap values for:
JWT_SECRETWEBHOOK_ENCRYPTION_KEY- bootstrap admin login through
DEFAULT_ADMIN_API_KEY - internal stack-to-platform auth through
PLATFORM_SERVICE_API_KEY - bootstrap runtime image selection through
RUNTIME_IMAGE - local port and service wiring for the pulled product stack
In agirunner, RUNTIME_IMAGE defaults to
ghcr.io/agirunner/agirunner-runtime:latest so the public stack can be
brought up from the top-level repo alone.
Platform Contributor Stack
Section titled “Platform Contributor Stack”agirunner-platform/.env is still the contributor-focused local config
surface when someone is working on the platform repository directly.
That stack keeps its own startup concerns, including:
- database and API wiring for local platform development
- dashboard/API startup
- bootstrap admin login through
DEFAULT_ADMIN_API_KEY - internal stack-to-platform auth through
PLATFORM_SERVICE_API_KEY - bootstrap runtime image selection through
RUNTIME_IMAGE
In agirunner-platform, RUNTIME_IMAGE still defaults its bootstrap
runtime path to agirunner-runtime:local for contributor workflows. In
both repos, RUNTIME_IMAGE only seeds the first runtime image choice
for a fresh stack; later runtime image changes belong in platform-managed
settings through the dashboard or API.
Runtime
Section titled “Runtime”The runtime uses environment variables and config files for startup concerns such as:
- platform API connection
- runtime API key handling
- server bind and health endpoints
- default execution image
Docs Site
Section titled “Docs Site”The docs site is mostly static, but deployment can still depend on environment and Pages configuration at build time.
Rule Of Thumb
Section titled “Rule Of Thumb”If a value changes how a process starts, it belongs in environment or config. If it changes workflow meaning, it belongs in platform-managed records or playbook content instead.