Commit Graph

7 Commits

Author SHA1 Message Date
Shivam Patel
702d61bdef Overhaul uptime monitor: time ranges, bar glow, tooltips, degraded state, immediate ping
- Add 24H/7D/30D/1Y time range selector with dynamic SQL bucketing
- Add bar glow (colored box-shadow) for up/degraded/down states
- Replace native title tooltips with positioned tooltips showing uptime % and check counts
- Add "degraded" (amber) state for buckets with mixed up/down checks
- Immediate HEAD ping on service add so status appears without 60s wait
- Taller bars (h-3 list, h-6 modal), rounded-sm, hover:scale-y-[1.3]
- Increase list bar opacity from 50% to 70%
- Add DB index on uptime_logs(service_name, timestamp)
- Extend data retention from 90 to 400 days for yearly view
2026-02-09 03:28:24 -05:00
Shivam Patel
372ff8cd22 Add uptime monitor features: fix history bars, lifetime stats, detail modal, custom services
- Fix 24-bar history rendering to always show 24 uniform segments with gray fill for missing hours
- Add lifetime uptime % and avg latency to status API
- Add clickable detail modal with expanded stats, large history bar, and service removal
- Add monitored_services DB table with CRUD API (GET/POST/DELETE)
- Monitor reads services from DB each interval, seeds defaults on first run
- Add inline form to add custom services to track
- Extend log retention from 7 days to 90 days for lifetime stats

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:05:22 -05:00
Shivam Patel
032fdc1b12 Fix website URL and uptime check logic
- Website: www.akkolli.net has no DNS record, use akkolli.net instead
- Uptime: treat any response < 500 as up (was res.ok / 200-299 only).
  Nextcloud returns non-200 for untrusted Host headers but is still
  running. Only 5xx and network errors count as down.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 01:48:53 -05:00
Shivam Patel
859602a03e Fix monitor.js missing from Docker image and SQLITE_CANTOPEN errors
- Copy monitor.js into the standalone build stage (was missing entirely)
- Remove node-fetch require — Node 18 has global fetch built-in
- Switch from bind mount (./data) to named volume (dashboard-data) so
  Docker manages permissions correctly for the nextjs user

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 01:01:12 -05:00
Shivam Patel
d5ab2db926 Wire up visitor metrics from webserver DB and fix uptime monitoring
- Read visitors from /server_storage/visitors.db (webserver's DB) instead of
  admin dash's own table; geoip lookups at query time for globe markers
- Globe card now shows 24h, 7d, and all-time unique visitor counts
- Uptime monitor: Nextcloud via host.docker.internal for Docker networking,
  Website and Gitea monitored on public domains
- UptimeCard uses real hourly history bars instead of Math.random() mock
- docker-compose: mount /server_storage:ro, add extra_hosts for Linux compat

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:50:40 -05:00
Akshay Kolli
f9ad906675 Updated uptime sql errros 2026-02-08 03:20:36 -05:00
Akshay Kolli
dd1a2ea200 Fixed and changes 2026-02-08 03:03:53 -05:00