Some checks failed
build-and-deploy / build (push) Failing after 5s
- camera_scraper: public-directory-only discovery (Insecam-style HTML + plain-text lists), hard private-range guard (fail closed), per-host rate limiting, Nominatim geocoding at <=1 req/s, TTL'd local snapshot cache, sha256 url_hash dedupe with Postgres upsert - cameras table (migration 002) + /api/cameras?bbox= + snapshot endpoint with cache passthrough in main.py - run_camera_service: long-running cycle worker following NATS->ingester pattern; publishes events.camera for shared ingester - docker-compose camera-service profile, .env.example knobs Verified E2E against TimescaleDB+PostGIS: private-range entries dropped, dedupe across cycles holds, bbox query returns expected rows.
29 lines
1.2 KiB
Text
29 lines
1.2 KiB
Text
# OSINT Dashboard — environment configuration
|
|
# Copy to `.env` and adjust. All values have safe defaults for local compose.
|
|
|
|
# ── PostgreSQL / TimescaleDB ───────────────────────────────────────────────
|
|
DB_USER=osint
|
|
DB_PASSWORD=osint
|
|
DB_HOST=db
|
|
DB_PORT=5432
|
|
DB_NAME=osint_data
|
|
|
|
# ── NATS JetStream (optional — only needed when profile `ingest` is used) ──
|
|
NATS_URL=nats://nats:4222
|
|
|
|
# ── MinIO (optional — document storage; endpoint used if wired later) ──────
|
|
MINIO_ENDPOINT=minio:9000
|
|
MINIO_ACCESS_KEY=
|
|
MINIO_SECRET_KEY=
|
|
# "true" for TLS endpoints (e.g. S3-compatible prod); "false" for local HTTP.
|
|
MINIO_SECURE=false
|
|
|
|
# ── Camera discovery scraper ───────────────────────────────────────────────
|
|
# Comma-separated public directory/list URLs (Insecam-style pages or
|
|
# plain-text lists: url[|lat,lon|vendor|location]).
|
|
CAMERA_SOURCE_URLS=
|
|
CAMERA_SCRAPE_INTERVAL=3600
|
|
CAMERA_REQUEST_DELAY=2.0
|
|
NOMINATIM_URL=https://nominatim.openstreetmap.org
|
|
NOMINATIM_MIN_INTERVAL=1.1
|
|
SNAPSHOT_TTL_SECONDS=300
|