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
1a4f56cdd9
feat: add backup dashboard summary endpoint
2026-05-11 21:41:49 +02:00
alex
6b0f2df629
feat: add backup monitoring API endpoints
2026-05-11 21:34:52 +02:00
alex
836f733a2e
feat: Add API key authentication for backup tool
...
- Add get_api_key() and require_api_key() to auth.py
- Add generic key-value settings storage to SettingsStore
- Add test_api_key_auth to verify the implementation
- Uses secrets.compare_digest for timing-safe comparison
- Auto-generates API key on first use and stores in settings DB
2026-05-11 21:25:46 +02:00
alex
f912623677
feat: add backup alert background poller
2026-05-11 20:47:08 +02:00
alex
cc8056d398
feat: add backup alert generation engine
2026-05-11 20:41:33 +02:00
alex
dd375a7e16
feat: add backup monitoring CRUD operations
2026-05-11 20:38:13 +02:00
alex
bd9765d4d9
feat: add backup monitoring pydantic models
2026-05-11 20:27:28 +02:00
alex
83d05ffea4
feat: add backup monitoring database schema
2026-05-11 20:22:23 +02:00
alex
80d38ed86d
fixes and improvements
2026-05-11 17:00:46 +02:00
alex
7e80733837
fixes and improvements
2026-05-07 23:09:08 +02:00
alex
420dc34272
fixes and improvements
2026-05-07 20:07:54 +02:00
alex
016e3255f5
Add missing frontend and backend files
2026-05-06 23:46:08 +02:00
alex
5277f21577
fixes and improvements
2026-05-06 16:33:02 +02:00
alex
d8d80867ce
now supports multi machine monitoring
2026-05-06 15:09:15 +02:00
alex
7950bc9f64
redesign
2026-05-04 17:24:41 +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
4226628d5a
Phase 2: Docker and OIDC auth
2026-05-04 13:50:53 +02:00
alex
47baee854b
Add comprehensive test suite for backend (133 tests)
...
Test coverage:
- test_utils.py: formatting helpers (human_size, ticks_to_minutes,
format_duration, format_bitrate, ffprobe summaries, stream parsing)
- test_path_utils.py: path resolution (prefix, media root mapping,
edge cases with spaces/special chars)
- test_domain_media.py: Jellyfin item normalization (HDR detection,
media sources, stream extraction, display formatting)
- test_jobs.py: job template rendering and shell quoting safety
- test_media_index.py: SQLite index CRUD, querying, filtering,
sorting, pagination
- test_config.py: pydantic-settings env loading
- test_api.py: full FastAPI integration tests with mocked SSH/Jellyfin
(all endpoints: dashboard, monitoring, media, files, jobs)
All tests run without network/SSH dependencies using mocks.
2026-05-03 12:45:14 +02:00
alex
51b10438a9
Restructure into backend/ and frontend/ subprojects
...
- backend/ uses proper Python src layout (src/media_library_viewer_api/)
with pyproject.toml, hatchling build, and PYTHONPATH=src convention
- frontend/ is a Vite + React + TypeScript SPA
- archive/ preserves the original Streamlit prototype for reference
- Cleaned up root to only contain docs, license, and subproject dirs
- Updated README for the new dual-subproject architecture
2026-04-30 21:48:46 +02:00