daily-briefing/docker-compose.yml
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

27 lines
749 B
YAML

services:
daily-briefing:
build: .
container_name: daily-briefing
ports:
- "8080:8080"
environment:
# Database (PostgreSQL)
- DB_HOST=10.10.10.10
- DB_PORT=5433
- DB_NAME=openclaw
- DB_USER=sam
- DB_PASSWORD=sam
# Weather
- WEATHER_LOCATION=Leverkusen
- WEATHER_LOCATION_SECONDARY=Rab,Croatia
# Home Assistant
- HA_URL=https://homeassistant.daddelolymp.de
- HA_TOKEN=${HA_TOKEN}
# Vikunja Tasks
- VIKUNJA_URL=http://10.10.10.10:3456/api/v1
- VIKUNJA_TOKEN=${VIKUNJA_TOKEN}
# Unraid Servers (JSON array)
- UNRAID_SERVERS=${UNRAID_SERVERS:-[]}
extra_hosts:
- "host.docker.internal:host-gateway"
restart: always