Files
uptime/README.md
2026-03-21 18:11:38 -05:00

1.3 KiB

arcline-uptime

Lightweight uptime monitor for HTTP and TCP endpoints. Polls on a schedule, stores results in SQLite, sends alerts via Discord webhook or email. Includes an embedded web dashboard.

No external services required — runs as a single binary on any Linux server.

Status

Planned. Not yet started.

Stack

  • Go — single static binary
  • SQLite via modernc.org/sqlite (pure Go, no CGO)
  • Config: YAML
  • Alerts: Discord webhook, SMTP email

Usage

arcline-uptime start --config uptime.yaml
arcline-uptime check --config uptime.yaml --monitor "Main Website"  # one-off check

Dashboard available at http://localhost:8081 (configurable).

Config

global:
  check_interval: 60
  timeout: 10
  alert_cooldown: 300

alerts:
  - type: discord
    webhook_url: "https://discord.com/api/webhooks/..."

monitors:
  - name: "Main Website"
    type: http
    url: "https://arclineit.com"
    expected_status: 200
    contains: "[arcline]"

  - name: "SSH"
    type: tcp
    host: "server1.arclineit.com"
    port: 22

Dashboard routes

  • / — current status of all monitors
  • /history — response time graph
  • /metrics — Prometheus-compatible endpoint (optional)

Protected by basic auth configured in YAML.

See todo.md for the full task list.

License

MIT — see LICENSE.