A minimalistic timer for webhooks, designed specifically for N8N Webhooks.
- Minimalistic Go-based daemon with embedded web UI
- JSON file persistence for entries and execution logs (
/data/state.jsonby default) - Fixed and Random interval modes
- Duration inputs for hours, minutes, and seconds (Fixed + Random min/max)
- Per-entry enable/disable state toggle
- Sleep window support with robust scheduling guardrails to prevent in-window executions
- Optional Discord webhook notifications for failed executions (with test button in UI)
- Live UI refresh/countdown updates every 0.5 seconds while the UI tab is visible
- Per-entry execution history (last 15 messages)
- Built-in health endpoints (
/healthz) and container health check command
Warning
This project was 100% generated by AI and is not actively maintained. Use it at your own risk.
services:
timerhook:
image: ghcr.io/xhyperdevx/webhooktimer:latest
ports:
- "8080:8080"
volumes:
- ./data:/data
environment:
- STATE_PATH=/data/state.json
# Optional: set a specific timezone, otherwise container local time is used
# - TZ=Europe/Berlin
healthcheck:
test: ["CMD", "/webhooktimer", "healthcheck"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
restart: unless-stopped- Install Go 1.22+
go run main.go- Access UI at
http://localhost:8080