Files
uptime-monitor/config.example.yaml
T
2026-08-20 09:32:04 +02:00

71 lines
2.5 KiB
YAML

# 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:
# How often to run the full rolling check of all endpoints, in seconds.
# 600 = 10 minutes.
interval_seconds: 600
# Default per-request timeout (DNS lookup + HTTP request), in seconds.
# Can be overridden per endpoint.
timeout_seconds: 10
# If any endpoint fails during a cycle, all endpoints are re-checked
# once, immediately, after this short delay (in seconds) — instead of
# waiting for the next scheduled cycle. Regular scheduling then resumes.
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.