Commit graph

17 commits

Author SHA1 Message Date
Sam
89ed0c6d0a feat: add MQTT integration for real-time entity updates
- aiomqtt async client with auto-reconnect and topic store
- MQTT router: GET /api/mqtt, GET /api/mqtt/topic/{path}, POST /api/mqtt/publish
- MQTT entities included in /api/all + WebSocket broadcast
- MqttCard frontend component with category filters, entity list
- Configurable via ENV: MQTT_HOST, MQTT_PORT, MQTT_USERNAME,
  MQTT_PASSWORD, MQTT_TOPICS (comma-separated or JSON array)
- Gracefully disabled when MQTT_HOST is not set

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 10:13:50 +01:00
Sam
9f7330e217 refactor: complete rewrite as React+FastAPI dashboard
Replace monolithic Jinja2 template with modern stack:

Backend (FastAPI):
- Modular router/service architecture
- Async PostgreSQL (asyncpg) for news from n8n pipeline
- Live Unraid server stats (2 servers via API)
- Home Assistant, Vikunja tasks, weather (wttr.in)
- WebSocket broadcast for real-time updates (15s)
- TTL cache per endpoint, all config via ENV vars

Frontend (React + Vite + TypeScript):
- Glassmorphism dark theme with Tailwind CSS
- Responsive grid: mobile/tablet/desktop/ultrawide
- Weather cards, hourly forecast, news with category tabs
- Server stats (CPU ring, RAM bar, Docker list)
- Home Assistant controls, task management
- Live clock, WebSocket connection indicator

Infrastructure:
- Multi-stage Dockerfile (node:22-alpine + python:3.11-slim)
- docker-compose with full ENV configuration
- Kaniko CI/CD pipeline for GitLab registry

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:48:51 +01:00
Sam
4bbc125a67 ci: allow branch pipelines for kaniko build 2026-03-02 00:36:52 +01:00
Sam
4860542d2b ci: switch daily briefing to kaniko registry build 2026-03-02 00:35:08 +01:00
Sam
9fd931a12f Use GitLab registry via local IP in CI 2026-03-01 22:44:44 +01:00
Sam
4fe644c517 UI: Remove 'Dashboard' text from inside the logo icon div 2026-02-13 13:57:06 +01:00
Sam
ee1c5bc5a4 UI: Rename to just 'Dashboard' and clean up header logo 2026-02-13 13:54:11 +01:00
Sam
c14cd60a32 UI: Move clock/date to right side, remove refresh button, and improve responsive layout 2026-02-13 12:58:24 +01:00
Sam
183b9528fe Fix: Absolute clock position - moved to background with -z-10 and opacity 2026-02-13 12:37:55 +01:00
Sam
0ad8470339 Update docker-compose.yml: add DASHBOARD_DATA_PATH and volume mount for data 2026-02-13 12:35:58 +01:00
Sam
076ee15c83 Add news and hourly weather to dashboard 2026-02-13 12:33:15 +01:00
Sam
320f273c3e Fix: Clock overlay in header - changed sm:flex to lg:flex, added z-0 2026-02-13 12:33:03 +01:00
Sam
79fb274b3b Update deploy stage tags to vm-deploy 2026-02-13 00:37:34 +01:00
Sam
231749f513 Trigger pipeline retry #2 2026-02-13 00:26:22 +01:00
Sam
8a2e6a9514 Trigger pipeline retry 2026-02-13 00:26:11 +01:00
Sam
58b2dd2730 Add GitLab CI/CD configuration 2026-02-13 00:25:22 +01:00
Sam
70c71105a1 Initial commit 2026-02-13 00:24:31 +01:00