an atproto based link aggregator

Fix ingester: remove processes conflict, fix volume setup

- Remove [processes] section that conflicted with LiteFS exec
- Use single volume at /data for LiteFS data storage
- LiteFS handles running the ingester via exec config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+19 -22
+2 -2
Dockerfile.ingester
··· 33 33 COPY --from=build /app/drizzle ./drizzle 34 34 COPY litefs.ingester.yml /etc/litefs.yml 35 35 36 - # Create directories 37 - RUN mkdir -p /litefs /var/lib/litefs 36 + # Create directories (/data is the mounted volume, /litefs is FUSE mount) 37 + RUN mkdir -p /data/litefs /litefs 38 38 39 39 # Environment 40 40 ENV NODE_ENV=production
+16 -19
fly.ingester.toml
··· 1 - # Ingester configuration for Fly.io 2 - # This runs as the LiteFS primary - it's the only machine that writes to the content DB 1 + # fly.toml app configuration file generated for papili-ingester on 2025-12-08T21:22:42-05:00 2 + # 3 + # See https://fly.io/docs/reference/configuration/ for information about how to use this file. 4 + # 3 5 4 - app = "papili-ingester" 5 - primary_region = "sjc" 6 + app = 'papili-ingester' 7 + primary_region = 'sjc' 6 8 7 9 [build] 8 - dockerfile = "Dockerfile.ingester" 10 + dockerfile = 'Dockerfile.ingester' 11 + 12 + [env] 13 + CONTENT_DB_PATH = '/litefs/content.db' 9 14 10 - # No HTTP service needed - this is a background worker 11 - [processes] 12 - ingester = "pnpm exec tsx src/ingester/main.ts" 15 + # Single volume for LiteFS data 16 + [[mounts]] 17 + source = 'ingester_data' 18 + destination = '/data' 13 19 14 20 [[vm]] 15 - size = "shared-cpu-1x" 16 - memory = "256mb" 17 - processes = ["ingester"] 18 - 19 - # LiteFS configuration - this machine is the primary 20 - [mounts] 21 - source = "litefs" 22 - destination = "/litefs" 23 - 24 - [env] 25 - CONTENT_DB_PATH = "/litefs/content.db" 21 + size = 'shared-cpu-1x' 22 + memory = '256mb'
+1 -1
litefs.ingester.yml
··· 5 5 dir: '/litefs' 6 6 7 7 data: 8 - dir: '/var/lib/litefs' 8 + dir: '/data/litefs' 9 9 10 10 lease: 11 11 type: 'consul'