Files
tyto/docker-compose.yaml
vikingowl f4dbc55851 feat: add dashboard customization, alerts, PWA, and mobile support
Dashboard Editor & Layout:
- Full-screen visual editor for reorganizing cards
- Drag-and-drop cards between sections
- Toggle card visibility with persistence to localStorage
- Reset to default layout option

Alerts System:
- Threshold-based alerts for CPU, memory, temperature, disk, GPU
- Alert manager with duration requirements
- AlertsCard component with settings UI
- API endpoints for alerts CRUD

New Collectors:
- Docker container monitoring with parallel stats fetching
- Systemd service status via D-Bus
- Historical metrics storage (1 hour at 1s intervals)

PWA Support:
- Service worker with offline caching
- Web app manifest with SVG icons
- iOS PWA meta tags

Mobile Responsive:
- Collapsible hamburger menu on mobile
- Adaptive grid layouts for all screen sizes
- Touch-friendly hover states
- Safe area insets for notched devices

UI Enhancements:
- Light/dark theme toggle with persistence
- Keyboard shortcuts (T=theme, R=refresh, ?=help)
- Per-process expandable details in ProcessesCard
- Sparkline charts for historical data

Performance Fixes:
- Buffered SSE channels to prevent blocking
- Parallel Docker stats collection with timeout
- D-Bus timeout for systemd collector

Tests:
- Unit tests for CPU, memory, network collectors
- Alert manager tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 05:35:28 +01:00

44 lines
1021 B
YAML

services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: sysmon-backend
restart: unless-stopped
ports:
- "9848:8080"
environment:
- PORT=8080
- PROC_PATH=/host/proc
- SYS_PATH=/host/sys
- MTAB_PATH=/host/etc/mtab
- DOCKER_SOCKET=/var/run/docker.sock
- DEFAULT_REFRESH_INTERVAL=5s
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/mtab:/host/etc/mtab:ro
# Docker socket for container monitoring (optional)
- /var/run/docker.sock:/var/run/docker.sock:ro
# D-Bus socket for systemd monitoring (optional)
- /run/dbus/system_bus_socket:/run/dbus/system_bus_socket:ro
networks:
- sysmon
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: sysmon-frontend
restart: unless-stopped
ports:
- "9847:80"
depends_on:
- backend
networks:
- sysmon
networks:
sysmon:
driver: bridge