-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfly.toml
More file actions
61 lines (52 loc) · 1.56 KB
/
Copy pathfly.toml
File metadata and controls
61 lines (52 loc) · 1.56 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
# Fly.io configuration for DreamPath Backend (FastAPI)
app = "dreampath-backend"
primary_region = "iad" # US East (same as Weaviate for low latency)
[build]
dockerfile = "Dockerfile"
[env]
# Weaviate connection via private network (.internal addresses)
WEAVIATE_HTTP_HOST = "dreampath-weaviate.internal"
WEAVIATE_HTTP_PORT = "8080"
WEAVIATE_HTTP_SECURE = "false"
WEAVIATE_GRPC_HOST = "dreampath-weaviate.internal"
WEAVIATE_GRPC_PORT = "50051"
WEAVIATE_GRPC_SECURE = "false"
# Database settings
DATABASE_TYPE = "postgres"
# Python environment
PYTHONUNBUFFERED = "1"
# Secrets (set separately via flyctl secrets set):
# - OPENAI_API_KEY
# - ANTHROPIC_API_KEY
# - POSTGRES_USER
# - POSTGRES_PASSWORD
# - POSTGRES_HOST
# - POSTGRES_PORT
# - POSTGRES_DB
# - SUPABASE_URL (if different from POSTGRES_HOST)
# - SUPABASE_SERVICE_KEY (if needed)
# - LANGCHAIN_API_KEY (optional, for tracing)
# - LANGFUSE_PUBLIC_KEY (optional, for observability)
# - LANGFUSE_SECRET_KEY (optional, for observability)
[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 1 # Keep 1 machine warm to avoid cold starts (~$2-5/month)
[http_service.concurrency]
type = "requests"
soft_limit = 200
hard_limit = 250
# Health check configuration
[[http_service.checks]]
grace_period = "10s"
interval = "30s"
method = "GET"
timeout = "5s"
path = "/health"
# Machine configuration
[[vm]]
memory = "1gb" # Need at least 1GB (512MB failed on Render)
cpu_kind = "shared"
cpus = 1