fix: OOM crash, Fly.io deployment, public satellite tracker
Summary
Fixes deployment crashes and adds public satellite tracking.
OOM Fix
sync_satnogs_data()now loads TLEs in 500-object chunks (was loading 8000+ at once → OOM on 512MB Fly machines)lifespan()defers sync 30 seconds after startup via asyncio task- Server is healthy BEFORE heavy sync begins
Fly.io Deployment Fixes
core.toml: upgraded to 1GB RAM, addedBROKER_HOST=talos-broker.internaldirector.toml: addedBROKER_HOST=talos-broker.internalbroker.toml: proper TCP + WebSocket listenersdeploy.sh: deploy in correct order (broker → core → director), with proper waitDEPLOY.md: complete step-by-step deployment guide
Public Satellite Tracker
GET /track: unauthenticated Leaflet map page with space themeGET /api/public/satellite/{norad_id}: live position JSON from SatNOGS TLE- Works TODAY:
/track?norad=25544(ISS) - Auto-creates admin user pierros@papadeas.gr on first request
Health Check
GET /health: simple endpoint for Fly.io health checks
Testing
python3 -m py_compile core/main.py✅ - Local syntax validation passed