Developer
8cdeadd6dd
feat(services): backend service registry foundation (encryption, definitions, CRUD)
...
PR 1 of 4 for the runtime service registry change.
- Add Fernet encryption helper (services/secrets.py) with a required
MANAGE_ENCRYPTION_KEY; validate it on startup.
- Add closed integrations/ registry with Pydantic config + widget-config
definitions for grafana, prometheus, jellyfin, nextcloud, and ssh_tasks.
- Add services + service_task_runs tables and SettingsStore CRUD with
cascade-delete (defensive until widgets carry service_id).
- Add /api/services/types and /api/services/instances CRUD (encrypted secrets,
secrets_set flags only; never plaintext).
- Declare cryptography as a direct dependency.
- Require MANAGE_ENCRYPTION_KEY in compose + .env.example + README.
- Add 25 backend tests (registry, encryption, CRUD, cascade, task-run history).
Verification: ruff clean; pytest 225 passed; frontend lint/build green.
2026-06-22 12:56:03 +00:00
Developer
75636c00d4
docs(deploy): update README and .env.example for Docker deployment
...
- Refresh README feature list and remove references to the legacy
in-app monitoring charts / backend poller.
- Document configurable dashboard widgets, addon pages, and widget env vars.
- Add VITE_PROMETHEUS_URL support to frontend Dockerfile and both compose files.
- Add header comment to .env.example explaining shell-export workflow.
- Update remote server requirements to match current capabilities.
2026-06-22 09:28:06 +00:00
Developer
1cd8e926de
feat(widgets): add backend source adapters and per-widget data endpoint
...
PR 2 of 4 for configurable dashboard widgets.
- Add grafana_url and prometheus_url settings (config.py + compose/env).
- Create WidgetSource protocol and adapters for jellyfin, backups, grafana,
prometheus, ssh_task, and static sources.
- Add GET /api/widgets/instances/{id}/data endpoint.
- Extract shared dashboard helpers into domain/dashboard.py so widgets and
the dashboard router reuse the same logic.
- Add adapter and data-endpoint tests.
- Update apply-progress.md.
Verification: ruff clean; backend pytest 200 passed; frontend lint/build green.
2026-06-21 10:09:45 +00:00
Developer
24427b4869
chore(config): remove dead GRAFANA_URL and wire VITE_GRAFANA_URL
...
- Remove GRAFANA_URL from backend environment (backend never consumed it).
- Add VITE_GRAFANA_URL to frontend build-args (prod), dev environment, and
frontend/Dockerfile ARG/ENV so Grafana deep-links resolve correctly.
- Add ALERTMANAGER_WEBHOOK_URL to backend environment so the documented
alert-forwarding feature is reachable from compose.
- Document VITE_GRAFANA_URL in .env.example.
2026-06-19 20:07:47 +00:00
Developer
e2ad731b5f
feat(observability): add Prometheus/Grafana/Loki/Alertmanager/Alloy stack and remove legacy Monitoring UI
2026-06-16 13:44:35 +00:00
alex
b0d84399ab
fixes and improvements
2026-05-06 21:25:12 +02:00
alex
5277f21577
fixes and improvements
2026-05-06 16:33:02 +02:00
alex
4cdb4b144c
simplifications and refactorings
2026-05-04 16:59:06 +02:00
alex
26f6f3d41f
deployment fixes
2026-05-04 16:03:39 +02:00
alex
e5e31d5a3b
deployment fixes
2026-05-04 15:23:34 +02:00
alex
58975d150b
deployment fixes
2026-05-04 15:11:36 +02:00
alex
cc3a3e8768
deployment fixes
2026-05-04 14:56:16 +02:00
alex
4226628d5a
Phase 2: Docker and OIDC auth
2026-05-04 13:50:53 +02:00
alex
d9d8a4f363
Initial commit: modular Streamlit media viewer with Jellyfin, SSH tools, and docs
2026-04-30 18:32:49 +02:00