mirror of
https://github.com/kennethreitz/kjvstudy.org.git
synced 2026-06-05 14:50:17 +00:00
dfb152b6a1
Keep blue-green deployment strategy but with single minimum machine to reduce costs. During deployment, Fly.io will: - Start new machine (green) - Run health checks - Switch traffic - Stop old machine (blue) Note: This may have brief startup time during deployment, but significantly reduces operating costs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
50 lines
949 B
TOML
50 lines
949 B
TOML
# fly.toml app configuration file generated for kjvstudy on 2025-05-26T12:55:54-04:00
|
|
#
|
|
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
|
|
#
|
|
|
|
app = 'kjvstudy'
|
|
primary_region = 'iad'
|
|
|
|
[deploy]
|
|
strategy = "bluegreen"
|
|
|
|
[build]
|
|
|
|
[http_service]
|
|
internal_port = 8000
|
|
force_https = true
|
|
auto_stop_machines = 'suspend'
|
|
auto_start_machines = true
|
|
min_machines_running = 1
|
|
processes = ['app']
|
|
|
|
[http_service.concurrency]
|
|
type = "requests"
|
|
hard_limit = 250
|
|
soft_limit = 200
|
|
|
|
# Health check endpoint
|
|
[[http_service.checks]]
|
|
interval = "15s"
|
|
timeout = "10s"
|
|
grace_period = "30s"
|
|
method = "GET"
|
|
path = "/health"
|
|
|
|
[[vm]]
|
|
memory = '4gb'
|
|
cpu_kind = 'performance'
|
|
cpus = 2
|
|
|
|
[env]
|
|
# Production optimizations
|
|
PYTHONUNBUFFERED = "1"
|
|
PYTHONDONTWRITEBYTECODE = "1"
|
|
|
|
# Preload interlinear data on startup for fast first requests
|
|
PRELOAD_INTERLINEAR = "true"
|
|
|
|
# Number of Uvicorn workers (recommended: 2x CPU cores)
|
|
WORKERS = "4"
|