backend/Dockerfile and a root docker-compose.yml for running flask-api,
bettersight-worker, bettersight-redis, and firecrawl locally — needed
to exercise the dashboard against a real backend instead of mocks.
Firecrawl and PocketBase are gated behind opt-in compose profiles since
self-hosted Firecrawl builds from source (slow) and PocketBase is
typically run separately in dev.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>