services: broadband_probe: image: ghcr.io/fleebee/broadband-probe:latest container_name: broadband_probe restart: unless-stopped volumes: - ./data:/data environment: # ── Core ────────────────────────────────────────────────────────────── RUN_INTERVAL_SECONDS: 10800 # how often to run a speed test (default 3h) ALERT_THRESHOLD_MBPS: 130 # alert if download drops below this ALERT_COOLDOWN_MINUTES: 360 # minimum gap between alert emails (0 = always alert) WIRED: false # set true if running on ethernet GRID_RUNS: 48 # number of recent runs shown in email grid # ── Alert behaviour ─────────────────────────────────────────────────── ALERT_EMAIL_ENABLED: true ALERT_EMAIL_INCLUDE_READING: true SEND_STARTUP_EMAIL: false # ── Daily report ────────────────────────────────────────────────────── DAILY_REPORT_ENABLED: true DAILY_REPORT_ALWAYS_EMAIL: false # true = always send, false = only when below threshold # ── Email provider ──────────────────────────────────────────────────── # Set to "smtp" or "graph" EMAIL_PROVIDER: smtp # ── Recipients (shared by both providers) ───────────────────────────── ALERT_TO_EMAIL: you@example.com # comma-separated ALERT_TO_CC: "" ALERT_TO_BCC: "" # ── SMTP (EMAIL_PROVIDER=smtp) ──────────────────────────────────────── SMTP_HOST: smtp.gmail.com SMTP_PORT: 587 SMTP_USERNAME: you@gmail.com SMTP_PASSWORD: your-app-password SMTP_FROM: "Broadband Probe " # ── Microsoft Graph (EMAIL_PROVIDER=graph) ──────────────────────────── # MS_TENANT_ID: your-tenant-id # MS_CLIENT_ID: your-client-id # MS_CLIENT_SECRET: your-client-secret # ALERT_FROM_USER: sender@yourdomain.com