All variables are in .env (see .env.example).
Application
| Variable |
Default |
Description |
APP_ENV |
development |
Environment |
APP_VERSION |
0.1.13 |
API version |
Safety
| Variable |
Description |
SECRET_MASTER_KEY |
AES key for script secrets (32+ characters) |
JWT_SECRET |
JWT Signature |
INTERNAL_API_KEY |
Auth runtime → backend internal API |
CORS_ORIGINS |
Allowed origins UI |
Database
| Variable |
Default |
POSTGRES_DB |
pyorchestrator |
POSTGRES_USER |
pyorch |
POSTGRES_PASSWORD |
pyorch_secret |
POSTGRES_PORT |
5432 |
Runtime
| Variable |
Default |
Description |
MAX_CONCURRENT_SANDBOXES |
50 |
Parallel sandbox |
DEFAULT_MAX_MEMORY_MB |
512 |
RAM sandbox limit |
DEFAULT_MAX_CPU_SECONDS |
300 |
CPU time limit |
DEFAULT_WALL_TIMEOUT_SEC |
3600 |
Wall timeout |
RUNTIME_REPLICAS |
1 |
Replicas in prod |
Frontend
| Variable |
Description |
VITE_API_URL |
Browser backend URL |
VITE_WS_URL |
URL WebSocket |
FRONTEND_TARGET |
development | production |
MCP
| Variable |
Default |
MCP_PORT |
8010 |
MCP_PYORCH_EMAIL |
email admin |
MCP_PYORCH_PASSWORD |
admin password |
Script limits
In the UI when creating/editing a script:
max_concurrent_runs — max. parallel runs
max_runtime_seconds — max. lead time
max_memory_bytes - memory limit
storage_quota_bytes - storage quota
MinIO
| Variable |
Default |
Description |
MINIO_ACCESS_KEY |
minioadmin |
S3 access key |
MINIO_SECRET_KEY |
minioadmin |
S3 secret key |
MINIO_BUCKET |
pyorchestrator |
Bucket for workspaces |
MINIO_PORT |
9000 |
S3 API |
MINIO_CONSOLE_ENABLED |
false |
MinIO Web Console (port 9001); S3 API works without it |
MINIO_CONSOLE_PORT |
9001 |
Console port (if enabled) |
MINIO_CONSOLE_PUBLIC_URL |
(empty - http://localhost:{MINIO_CONSOLE_PORT}) |
Public link to console |
With MINIO_CONSOLE_ENABLED=false, the link to the MinIO web console does not go to /api/v1/system/info and is hidden on the System page.
Grafana and observability
| Variable |
Default |
Description |
GRAFANA_PUBLIC_URL |
(empty - the link is hidden in the UI) |
Link to Grafana in panel |
GRAFANA_INTERNAL_URL |
http://grafana:3000 |
URL for health-check from backend |
GRAFANA_ADMIN_USER |
admin |
Login Grafana |
GRAFANA_ADMIN_PASSWORD |
admin |
Grafana password |
The Observability panel on the dashboard is shown only if Grafana is available: the backend checks /api/health against GRAFANA_INTERNAL_URL, and gives the link from GRAFANA_PUBLIC_URL (or internal URL if public is not specified).
Provisioning: infrastructure/grafana/provisioning/
OTA updates
| Variable |
Default |
Description |
GITHUB_UPDATE_REPO |
PyOrchestrator/PyOrchestrator |
Release Repository |
UPDATE_EXECUTOR_ENABLED |
true |
Docker update runner |
UPDATE_DEPLOY_MODE |
docker |
Deploy mode (docker) |
PYORCH_HOST_PROJECT_ROOT |
(auto) |
Path to the project on the host; determined automatically |
Update: Settings → Software updates in the control panel.