-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.env.example
More file actions
102 lines (89 loc) · 4.12 KB
/
.env.example
File metadata and controls
102 lines (89 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# SkyTest local environment template
# 1) Required keys are active below.
# 2) Optional overrides are commented out and only needed when tuning behavior.
# Required: Database
DATABASE_URL="postgresql://postgres:postgres@127.0.0.1:5432/skytest_agent?schema=public"
# Optional: local infrastructure host port overrides to avoid collisions with other stacks.
# SKYTEST_POSTGRES_PORT=15432
# Required: Object Storage (S3-compatible; MinIO defaults for local development)
S3_ENDPOINT=http://127.0.0.1:9000
# Optional: local MinIO port overrides (pair with S3_ENDPOINT).
# SKYTEST_MINIO_API_PORT=19000
# SKYTEST_MINIO_CONSOLE_PORT=19001
# S3_ENDPOINT=http://127.0.0.1:19000
S3_REGION=us-east-1
S3_BUCKET=skytest-agent
S3_ACCESS_KEY_ID=minioadmin
S3_SECRET_ACCESS_KEY=minioadmin
S3_FORCE_PATH_STYLE=true
# Required: Authgear Authentication (https://portal.authgear.com/)
AUTHGEAR_CLIENT_ID=your-authgear-client-id
AUTHGEAR_ENDPOINT=https://your-project.authgear.cloud
AUTHGEAR_REDIRECT_URI=http://localhost:3000/auth-redirect
# Optional: use bundled local Authgear from infra/docker/docker-compose.local.yml.
# AUTHGEAR_CLIENT_ID=local-dev-client
# AUTHGEAR_ENDPOINT=http://localhost:3301
# AUTHGEAR_REDIRECT_URI=http://localhost:3000/auth-redirect
# Optional: comma-separated dev hosts that may load Next.js HMR resources (hostname only).
# NEXT_ALLOWED_DEV_ORIGINS=192.168.8.66,devbox.local
# Optional: local bootstrap default ownership seed (used by `make bootstrap`).
# SKYTEST_LOCAL_SEED_EMAIL=local-dev@skytest.local
# SKYTEST_LOCAL_SEED_PASSWORD=Abcd1234
# SKYTEST_LOCAL_SEED_TEAM_NAME=Local Team
# SKYTEST_LOCAL_SEED_PROJECT_NAME=Case Study App
# SKYTEST_AUTHGEAR_PROJECT_ID=skytest-local
# SKYTEST_AUTHGEAR_ADMIN_ENDPOINT=http://localhost:3302
# Required: Encryption secret for API key storage (32+ random chars)
ENCRYPTION_SECRET=replace-with-a-random-secret
# Optional: stream + file URL TTL overrides (defaults shown)
# STORAGE_SIGNED_URL_TTL_SECONDS=900
# STREAM_POLL_INTERVAL_MS=5000
# STREAM_MAX_POLL_INTERVAL_MS=30000
# STREAM_TOKEN_SECRET=replace-with-another-random-secret
# Optional: Midscene model overrides (fixed defaults are already in code)
# SKYTEST_MIDSCENE_MODEL_BASE_URL=https://openrouter.ai/api/v1
# SKYTEST_MIDSCENE_MODEL_NAME=qwen/qwen3.5-27b
# SKYTEST_MIDSCENE_MODEL_FAMILY=qwen3.5
# SKYTEST_MIDSCENE_PLANNING_MODEL_BASE_URL=https://openrouter.ai/api/v1
# SKYTEST_MIDSCENE_PLANNING_MODEL_NAME=qwen/qwen3.5-27b
# SKYTEST_MIDSCENE_PLANNING_MODEL_FAMILY=qwen3.5
# SKYTEST_MIDSCENE_INSIGHT_MODEL_BASE_URL=https://openrouter.ai/api/v1
# SKYTEST_MIDSCENE_INSIGHT_MODEL_NAME=qwen/qwen3.5-27b
# SKYTEST_MIDSCENE_INSIGHT_MODEL_FAMILY=qwen3.5
# SKYTEST_MIDSCENE_MODEL_TEMPERATURE=0.2
# SKYTEST_MIDSCENE_GENERATE_REPORT=false
# SKYTEST_MIDSCENE_AUTO_PRINT_REPORT_MSG=false
# Optional: runner lifecycle + retention overrides (defaults shown)
# RUNNER_LEASE_DURATION_SECONDS=120
# RUNNER_LEASE_REAPER_INTERVAL_MS=60000
# RUNNER_EVENT_RETENTION_DAYS=30
# RUNNER_ARTIFACT_SOFT_DELETE_DAYS=30
# RUNNER_ARTIFACT_HARD_DELETE_DAYS=7
# RUNNER_ARTIFACT_HARD_DELETE_BATCH_SIZE=50
# Optional: runner transport cadence (seconds)
# RUNNER_HEARTBEAT_INTERVAL_SECONDS=45
# RUNNER_CLAIM_LONG_POLL_TIMEOUT_SECONDS=30
# RUNNER_DEVICE_SYNC_INTERVAL_SECONDS=45
# RUNNER_CLAIM_RETRY_INTERVAL_MS=2000
# Optional: run concurrency + status polling
# RUNNER_MAX_CONCURRENT_RUNS=4
# RUNNER_MAX_LOCAL_BROWSER_RUNS=4
# RUNNER_MAX_CONCURRENT_RUNS_PER_ANDROID_RUNNER=2
# RUNNER_LOCAL_BROWSER_STALE_TIMEOUT_MS=900000
# RUNNER_RUN_STATUS_POLL_INTERVAL_MS=5000
# RUNNER_RUN_STATUS_MAX_POLL_INTERVAL_MS=30000
# RUNNER_RUN_STATUS_MAX_CANCELLATION_POLL_INTERVAL_MS=10000
# UI_DEVICE_STATUS_POLL_INTERVAL_MS=10000
# Optional: browser worker runtime (dedicated worker process)
# SKYTEST_BROWSER_WORKER=false
# BROWSER_WORKER_DISPATCH_INTERVAL_MS=1000
# BROWSER_WORKER_MAX_DISPATCH_INTERVAL_MS=5000
# BROWSER_WORKER_MAX_DISPATCHES_PER_CYCLE=1
# Optional: rate limiting backend
# `db` is globally consistent across replicas but adds DB writes on each request.
# `memory` is per-pod and cheapest.
# RATE_LIMIT_STORE_MODE=memory
# RUNNER_RATE_LIMIT_STORE_MODE=memory
# Optional: diagnostics
# LOG_LEVEL=info
# PRISMA_LOG_QUERIES=false