# Copy this file to config.yaml and adjust it to your setup. # # This file is bind-mounted into the container (see docker-compose.yml), # NOT baked into the image. You can edit it freely at any time — just # restart the container afterwards (`docker compose restart`) to pick up # the changes. No rebuild is ever needed for changes in this file. influx: # Base URL of your InfluxDB 2.x instance. Reachable directly (host/IP + # port), no shared docker network required. url: "https://influxdb.example.local:8086" # InfluxDB 2.x API token with write access to the bucket below. token: "REPLACE_WITH_YOUR_INFLUX_API_TOKEN" # InfluxDB organization name (or ID) that owns the bucket. org: "REPLACE_WITH_YOUR_ORG" bucket: "uptime" # InfluxDB uses a self-signed certificate -> skip certificate # verification for it specifically. This does NOT affect certificate # verification of the monitored endpoints below (see verify_tls there). verify_ssl: false check: # Each endpoint is checked once every interval_seconds, but checks are # spread evenly across that window rather than all fired at once — with # N endpoints configured, one endpoint is checked every # (interval_seconds / N) seconds, rotating through all of them. # Example: 6 endpoints + interval_seconds: 3600 (1 hour) -> one endpoint # checked every 10 minutes. interval_seconds: 3600 # Default per-request timeout (DNS lookup + HTTP request), in seconds. # Can be overridden per endpoint. timeout_seconds: 10 # If any single endpoint check fails, ALL endpoints are checked once, # immediately, after this short delay (in seconds) — instead of waiting # for their normal rotation slot. The rotation is then re-spread evenly # from that point and resumes normally. immediate_recheck_delay_seconds: 5 endpoints: - name: "example-https" host: "example.com" scheme: "https" port: 443 # DNS server used to resolve `host` for THIS endpoint. The # system/router-provided DNS resolver is never used — every lookup # goes explicitly to this server only. # Required unless `host` is already a literal IP address (see the # entry below), in which case it's optional and ignored. dns_server: "1.1.1.1" expected_status: 200 # path: "/" # optional, defaults to "/" # timeout_seconds: 5 # optional, overrides check.timeout_seconds # verify_tls: true # optional, set false for self-signed endpoint certs - name: "example-internal-http" host: "internal.example.local" scheme: "http" port: 8080 dns_server: "9.9.9.9" expected_status: 200 - name: "example-raw-ip" host: "192.168.0.2" # literal IP -> DNS resolution is skipped entirely scheme: "http" port: 8080 # dns_server not needed here expected_status: 200 # Add as many endpoints as you like below.