build: add Fly.io deployment process
fly.toml (Dockerfile.web, scale-to-zero in syd, /api/health checks), make deploy / deploy-status targets, a Gitea workflow deploying on v* tags or manual dispatch via FLY_API_TOKEN, and README instructions covering first-time setup and the server's runtime env knobs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
111b8bf48e
commit
ccfd3fd156
@@ -0,0 +1,34 @@
|
||||
# Fly.io configuration for the ExploreDNS web server.
|
||||
# Deploy with `make deploy` (or `flyctl deploy --remote-only`).
|
||||
# First-time setup: see "Deploying to Fly.io" in README.md.
|
||||
|
||||
app = "exploredns"
|
||||
primary_region = "syd"
|
||||
|
||||
[build]
|
||||
dockerfile = "Dockerfile.web"
|
||||
|
||||
[env]
|
||||
# Public-exposure guards (web/api reads these at startup).
|
||||
EXPLOREDNS_JOB_TIMEOUT = "5m"
|
||||
EXPLOREDNS_MAX_JOBS = "8"
|
||||
|
||||
[http_service]
|
||||
internal_port = 8080
|
||||
force_https = true
|
||||
# Scale to zero when idle; SSE streams count as active connections,
|
||||
# so machines are not stopped mid-traversal.
|
||||
auto_stop_machines = "stop"
|
||||
auto_start_machines = true
|
||||
min_machines_running = 0
|
||||
|
||||
[[http_service.checks]]
|
||||
interval = "30s"
|
||||
timeout = "5s"
|
||||
grace_period = "10s"
|
||||
method = "GET"
|
||||
path = "/api/health"
|
||||
|
||||
[[vm]]
|
||||
size = "shared-cpu-1x"
|
||||
memory = "256mb"
|
||||
Reference in New Issue
Block a user