refactor(settings): drop jellyfin machine service + dead machine path fields

Slice 1 of jellyfin-service-registry. Jellyfin is configured exclusively
via the service registry now; the machine-level media_root/path_prefix
fields were dead duplicates of the global config.

- services/settings_store.py: DEFAULT_SERVICES no longer includes
  "jellyfin" (now ["monitoring", "files"]). Removed machine-level
  media_root/path_prefix from _default_local_machine, _row_to_machine,
  _normalize_machine_payload, _seed_local_machine, get_machine_config,
  and upsert_machine. _default_local_machine no longer reads global
  config, so the get_settings import is dropped.
- routers/settings.py: removed media_root/path_prefix from
  MonitoringMachineInput (dead API input; store already ignored them).

The global config remote_media_root/path_prefix properties + path_utils.py
are unchanged (files.py and media_index still use them for Jellyfin->SSH
path resolution). ruff clean; 239 backend tests pass.
This commit is contained in:
Developer
2026-06-24 14:38:47 +00:00
parent 38b2de54ff
commit 7107815a5c
13 changed files with 21 additions and 39 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ FastAPI backend service providing REST API endpoints for Jellyfin media browsing
- README.md | Documentation describing the setup, configuration, Docker deployment, and API endpoints of a FastAPI backend for Jellyfin media browsing, SSH file inspection, and server monitoring. | dep: FastAPI, uvicorn, pydantic-settings, Jellyfin, Jellyseerr, SSH, Docker Compose, Alertmanager, Prometheus, Grafana, Authentik/OIDC
- pyproject.toml | Project configuration file defining dependencies, build system, linting, and testing settings for a FastAPI media library viewer backend. | dep: FastAPI, uvicorn, pydantic-settings, paramiko, requests, python-dotenv, pandas, PyJWT, prometheus-client, python-json-logger, cryptography, hatchling, ruff, pytest, httpx
## arch
Containerized Python 3.11 service using FastAPI framework with uvicorn ASGI server, following standard pyproject.toml-based project configuration with defined linting and testing pipelines.
Containerized Python 3.11 service using FastAPI with uvicorn ASGI server, configured via pyproject.toml with linting/testing pipelines and Docker-based deployment.
## tags
uvicorn, fastapi, python, backend, pyproject, settings, docker, api
## symbols