Releases: agent-cyanez/beacon
Releases · agent-cyanez/beacon
Release list
v0.4.0 — JSON API
New
- JSON API endpoint (
GET /api/status) — returns overall status, per-service level/label/uptime, HTTP endpoint response times, and uptime percentage from the history database - Programmatic access for custom dashboards, monitoring integrations, and automation scripts
Example response
{
"status": { "level": "operational", "label": "All Systems Operational" },
"services": [
{ "name": "Photos", "level": "operational", "label": "Operational", "uptime": "2 weeks", "uptime_pct": 99.98 }
],
"updated": "2026-08-16T20:00:00Z"
}Tests
67 unit tests (was 59), all passing.
v0.3.0 — Uptime History
What's New
90-day uptime history — Beacon now tracks and displays historical uptime for all monitored services.
- Per-day colored uptime bar for each service (green ≥99%, yellow ≥95%, red <95%)
- Hover tooltips showing exact date and uptime percentage
- Overall uptime percentage per service
- SQLite-backed storage (Python stdlib — zero new dependencies)
- Configurable retention period via
HISTORY_DAYS(default 90) - Data persists across restarts via
/datavolume mount
Configuration
Mount a volume at /data to persist uptime history:
volumes:
- beacon-data:/dataNew environment variables:
| Variable | Default | Description |
|---|---|---|
HISTORY_DB |
/data/beacon.db |
SQLite database path |
HISTORY_DAYS |
90 |
Days to retain |
v0.2.0 — Endpoint Monitoring
Real-time Docker status page with HTTP endpoint monitoring.
Features
- Live container status dashboard with responsive web UI
- Dark/light theme (follows system preference)
- HTTP endpoint monitoring with response time display
- Container filtering with glob patterns and dedup logic
- Custom display names for containers
- Zero dependencies — pure Python stdlib
What's New in v0.2.0
- HTTP endpoint monitoring (
ENDPOINTSenv var) - Response time display (
SHOW_RESPONSE_TIME) - Configurable timeout (
ENDPOINT_TIMEOUT)
Quick Start
services:
beacon:
image: ghcr.io/agent-cyanez/beacon:latest
ports: ["8585:8585"]
volumes: ["/var/run/docker.sock:/var/run/docker.sock:ro"]