Skip to content

Latest commit

 

History

History
49 lines (42 loc) · 1.52 KB

File metadata and controls

49 lines (42 loc) · 1.52 KB

Webhook Timer

A minimalistic timer for webhooks, designed specifically for N8N Webhooks.

Features

  • Minimalistic Go-based daemon with embedded web UI
  • JSON file persistence for entries and execution logs (/data/state.json by 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

⚠️ AI GENERATED PROJECT ⚠️

Warning

This project was 100% generated by AI and is not actively maintained. Use it at your own risk.

Deployment

Docker Compose

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

Local Development

  1. Install Go 1.22+
  2. go run main.go
  3. Access UI at http://localhost:8080