this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(indexer): drop default [http_service] block from fly.indexer.toml

`flyctl launch --copy-config` regenerates the toml with its standard
webserver template, which adds an [http_service] pointing at a
non-existent 'app' process and trips validation.

The indexer is a background worker — long-lived outbound WebSocket to
Jetstream, no inbound HTTP — so the right answer is to remove the block
entirely and let the [processes] worker definition stand alone.

Made-with: Cursor

+37 -34
+15
.dockerignore
··· 1 + # flyctl launch added from .gitignore 2 + # dotenv environment variable files 3 + **/.env 4 + **/.env.development.local 5 + **/.env.test.local 6 + **/.env.production.local 7 + **/.env.local 8 + 9 + # Fresh build directory 10 + **/_fresh 11 + # npm + other dependencies 12 + **/node_modules 13 + **/vendor 14 + 15 + fly.toml
+22 -34
fly.indexer.toml
··· 1 1 # Fly.io config for the Atmosphere registry indexer worker. 2 2 # 3 - # This is a *background* worker — no public ports, no HTTP listener. 4 - # It opens a single WebSocket to Bluesky's Jetstream, fans events to 5 - # the Turso registry DB, and persists its cursor. 3 + # Background-only worker: holds a long-lived outbound WebSocket to 4 + # Bluesky's Jetstream, fans events into the Turso registry DB, persists 5 + # its cursor. No public ports, no HTTP listener — that's intentional, 6 + # and is why there's no [http_service] block here (flyctl launch's 7 + # default template assumes a webserver). 6 8 # 7 9 # Deploy from the project root: 8 - # 9 - # flyctl launch \ 10 - # --config fly.indexer.toml \ 11 - # --dockerfile worker.Dockerfile \ 12 - # --name atmosphere-registry-indexer \ 13 - # --region iad \ 14 - # --no-deploy --copy-config 15 - # 16 - # flyctl secrets set --config fly.indexer.toml \ 17 - # TURSO_DATABASE_URL=libsql://...turso.io \ 18 - # TURSO_AUTH_TOKEN=eyJ... \ 19 - # ATMOSPHERE_DID=did:plc:... 20 - # 21 10 # flyctl deploy --config fly.indexer.toml --dockerfile worker.Dockerfile 22 - # 23 - # To watch it run: flyctl logs --config fly.indexer.toml 11 + # Logs: 12 + # flyctl logs --config fly.indexer.toml 13 + # Status: 14 + # flyctl status --config fly.indexer.toml 24 15 25 - app = "atmosphere-registry-indexer" 26 - primary_region = "iad" 16 + app = 'atmosphere-registry-indexer' 17 + primary_region = 'iad' 27 18 28 19 [build] 29 - dockerfile = "worker.Dockerfile" 20 + dockerfile = 'worker.Dockerfile' 30 21 31 - # Single always-on background process; no [http_service] block on 32 - # purpose — the indexer doesn't accept incoming connections. 33 - [processes] 34 - worker = "deno run -A worker/indexer.ts" 22 + [deploy] 23 + strategy = 'immediate' 35 24 36 - [[vm]] 37 - size = "shared-cpu-1x" 38 - memory = "256mb" 39 - processes = ["worker"] 25 + # Single always-on background process. 26 + [processes] 27 + worker = 'deno run -A worker/indexer.ts' 40 28 41 - # Don't auto-stop: the indexer must hold a long-lived WebSocket to 42 - # Jetstream and persist a cursor. Keep exactly one machine running. 43 29 [[restart]] 44 - policy = "always" 30 + policy = 'always' 45 31 46 - [deploy] 47 - strategy = "immediate" 32 + [[vm]] 33 + size = 'shared-cpu-1x' 34 + memory = '256mb' 35 + processes = ['worker']