Initial public release — Inspector v0.7.0
Docker-watchdog with per-container restart rules, Gotify/Pushover notifications, and an embedded dashboard + web settings page. See README.md for an overview and INSTALL.md for the Docker quickstart.
This commit is contained in:
commit
ea1103f52b
35 files changed
+5579
No files matched your search
Executable
+137
@@ -0,0 +1,137 @@
|
||||
# Inspector example configuration.
|
||||
# Copy to config.yml, edit, and mount into the container at /app/config.yml.
|
||||
|
||||
inspector:
|
||||
interval_seconds: 60
|
||||
log_level: INFO
|
||||
dry_run: false
|
||||
log_dir: /app/logs
|
||||
log_filename: inspector.log
|
||||
log_retention_days: 30
|
||||
heartbeat: false
|
||||
|
||||
notifications:
|
||||
# Gotify: https://gotify.net
|
||||
gotify:
|
||||
enabled: false
|
||||
url: ""
|
||||
token: ""
|
||||
priority: 5
|
||||
|
||||
# Pushover: https://pushover.net
|
||||
# Independent of Gotify — enable either, both, or neither. If both are
|
||||
# enabled, every alert is sent to both. Inspector's priority is an
|
||||
# integer on a Gotify-style scale (default 5) and is mapped to
|
||||
# Pushover's -2..2 range at send time: <=2 -> -1, 3..4 -> 0,
|
||||
# 5..6 -> 1, >=7 -> 2.
|
||||
pushover:
|
||||
enabled: false
|
||||
token: "" # Pushover application API token
|
||||
user_key: "" # Pushover user or group key
|
||||
priority: 5
|
||||
device: "" # optional target device; blank = all devices
|
||||
sound: "" # optional sound name; blank = user default
|
||||
|
||||
# Persist a durable per-container event history to a local SQLite DB.
|
||||
# Enables the /events page and the Health summary digest.
|
||||
database:
|
||||
enabled: false
|
||||
path: /app/data/events.db
|
||||
retention_days: 30
|
||||
|
||||
# Periodic digest of per-container events, delivered through the enabled
|
||||
# notification channels. Requires database.enabled: true to have data.
|
||||
health_summary:
|
||||
enabled: false
|
||||
interval_hours: 24
|
||||
priority: 3
|
||||
|
||||
# Recurring daily maintenance window. Containers that opt in with
|
||||
# `maintenance_window: true` are not acted on during this window.
|
||||
maintenance:
|
||||
enabled: false
|
||||
start: "00:00"
|
||||
end: "06:00"
|
||||
dir: /app/data/maintenance
|
||||
max_hours: 8
|
||||
|
||||
# Manual notification muting per container (toggled from the dashboard).
|
||||
notification_mute:
|
||||
enabled: false
|
||||
dir: /app/data/muted
|
||||
default_hours: 12
|
||||
|
||||
# Embedded web dashboard. Enable with a non-empty password.
|
||||
# Visit http://<host>:<port>/ for status, /events for history,
|
||||
# /settings to edit this file from the browser.
|
||||
dashboard:
|
||||
enabled: false
|
||||
host: 0.0.0.0
|
||||
port: 8080
|
||||
username: admin
|
||||
password: ""
|
||||
|
||||
# Optional external integrations.
|
||||
integrations:
|
||||
# Uptime Kuma: optionally use a public status page as an extra
|
||||
# reachability check per container.
|
||||
uptime_kuma:
|
||||
enabled: false
|
||||
url: "https://status.example.com"
|
||||
status_page_slug: "default"
|
||||
|
||||
# Portainer API integration: used by the advanced recovery actions
|
||||
# `portainer_stack_redeploy` and `restart_then_redeploy`, which can
|
||||
# recover containers whose network namespace is tied to a VPN sidecar.
|
||||
# Leave disabled unless you need it.
|
||||
#
|
||||
# Token options (pick one per environment):
|
||||
# api_token_env: "ENV_VAR_NAME" — reads token from that env var at
|
||||
# runtime (preferred; not stored in config)
|
||||
# api_token: "ptr_..." — embed token directly in this file
|
||||
portainer:
|
||||
enabled: false
|
||||
default_environment: local_docker
|
||||
stack_redeploy_cooldown_seconds: 300
|
||||
post_redeploy_wait_seconds: 90
|
||||
environments:
|
||||
local_docker:
|
||||
base_url: "http://portainer.example.local:9000"
|
||||
api_token_env: "PORTAINER_API_TOKEN"
|
||||
endpoint_id: 1
|
||||
verify_ssl: false
|
||||
|
||||
containers:
|
||||
# Minimal entry: Inspector only acts on containers listed here.
|
||||
# Each key is the Docker container name on your host.
|
||||
example-web:
|
||||
enabled: true
|
||||
max_error_count: 5
|
||||
cooldown_seconds: 300
|
||||
grace_period_seconds: 120
|
||||
max_restarts_per_hour: 3
|
||||
restart_on:
|
||||
- UNHEALTHY
|
||||
- NOT RUNNING
|
||||
- ERROR
|
||||
|
||||
# Example with an opt-in HTTP reachability check. Useful when Docker
|
||||
# reports a container as healthy but it's not actually serving
|
||||
# requests (common with VPN-routed containers whose tunnel drops).
|
||||
example-api:
|
||||
enabled: true
|
||||
max_error_count: 5
|
||||
cooldown_seconds: 300
|
||||
grace_period_seconds: 120
|
||||
max_restarts_per_hour: 3
|
||||
color: "#60a5fa"
|
||||
restart_on:
|
||||
- UNHEALTHY
|
||||
- NOT RUNNING
|
||||
- ERROR
|
||||
- UNREACHABLE
|
||||
http_check:
|
||||
enabled: true
|
||||
url: "http://example-api:8080/health"
|
||||
timeout_seconds: 5
|
||||
expected_status: 200
|
||||
Reference in new issue
Block a user