82f62124e7
The execution engine was load-bearing from archive/ — the one thing in there that wasn't retired. Now at repo root next to copybot.py; the two archived scripts that imported it as a sibling get a parent-path shim. fly.toml gains an http /health check so Fly restarts a dark machine (self-heal); the notify half is the GH Actions watchdog (next commit). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
38 lines
1.2 KiB
TOML
38 lines
1.2 KiB
TOML
# Fly.io config for the copybot worker — region must be a country Polymarket
|
|
# does NOT restrict (https://docs.polymarket.com/developers/CLOB/geoblock).
|
|
# Surprises on the restricted list: US, UK, France, Germany, Italy, NL,
|
|
# Poland, Singapore, Australia, Ontario (yyz), and BRAZIL (no gru). Of Fly's
|
|
# 2026 region set that leaves arn (Stockholm), jnb (Johannesburg), bom
|
|
# (Mumbai). arn wins: allowed + ~25ms from the CLOB primaries (eu-west-2
|
|
# London), so copy lag improves vs any LatAm box.
|
|
app = "wwf-copybot"
|
|
primary_region = "arn"
|
|
|
|
[build]
|
|
dockerfile = "fly.Dockerfile"
|
|
|
|
# public HTTPS endpoint for the Alchemy push webhook (POST /alchemy);
|
|
# the bot binds $PORT or 8080. An always-on worker: never auto-stop.
|
|
[http_service]
|
|
internal_port = 8080
|
|
force_https = true
|
|
auto_stop_machines = "off"
|
|
auto_start_machines = true
|
|
min_machines_running = 1
|
|
|
|
[[vm]]
|
|
size = "shared-cpu-1x"
|
|
memory = "512mb"
|
|
|
|
# health check: Fly restarts the machine if /health stops answering — the
|
|
# self-heal half of the watchdog (the notify half is the GitHub Actions
|
|
# watchdog workflow -> Discord). grace covers the boot clone.
|
|
[checks]
|
|
[checks.health]
|
|
type = "http"
|
|
port = 8080
|
|
path = "/health"
|
|
interval = "30s"
|
|
timeout = "5s"
|
|
grace_period = "60s"
|