It’s down… now what?
A simple recovery checklist for non-experts.
Step 0 — Don’t panic
Open /api/health first. It tells you whether:
- the app can read config
- the DB is reachable
- migrations are pending
- the worker heartbeat is recent
Step 1 — Is Postgres up?
Symptoms:
/api/healthsaysdb.ok=false
Fix:
- Confirm
DATABASE_URL/ config credentials - Confirm Postgres is reachable from the server
- Confirm firewall / networking
Step 2 — Are migrations pending?
Symptoms:
/api/healthshowspending migrations > 0
Fix:
npm run db:migrate
Step 3 — Is the worker running?
Symptoms:
- Crawlers never run
- No recent
worker.heartbeatin/api/health
Fix:
- Restart worker process
- Ensure you are running
npm run workeras a long-lived process
Step 4 — Are crawls failing (HTTP errors)?
Symptoms:
- Runs show
ERROR
Fix:
- Lower RPS / concurrency
- Some portals throttle. Keep it polite.
- Verify the portal does not require login.
Step 5 — Worst case: rebuild the registry (testing)
If this is a test environment:
/app/admin → Reset registry DB schema- or
npm run db:reset
If this is production, restore from backups.