Files

36 lines
1.5 KiB
Markdown

# MetaFeeder · Usenet — Rationale
## What deviation / exception is being requested
1. `metafeederusenet-feeder` runs `user: 0:0`.
(The NNTmux indexer this feeder used to bundle — and its own exceptions: a web UI on its own
login, seeded TMDB/TVDB keys — is now the separate **NNTmux** app in worph/AppStore, with its
own `rationale.md`.)
## Why it is necessary
1. The feeder publishes resolved records to the shared MetaCore and writes plugin artwork
through its WebDAV endpoint; those targets are created and owned by MetaCore's
root-running container.
## Security mitigations in place
- No web UI and no Caddy route: the feeder's configuration page is reached only through the
MetaGateway dashboard's proxy, behind the gateway's login.
- It talks to NNTmux only over NNTmux's Newznab API, with the key of a dedicated
`metamesh` user — it holds no database credential and mounts no NNTmux storage.
- The API key and the indexer keys are secrets on the feeder's config page (write-only,
never echoed back); none has an env seed or a default.
- `cpu_shares` and memory caps on all three services; every image pinned.
## Alternatives considered and rejected
- **Run the feeder as `$PUID:$PGID`.** Writes into MetaCore's root-owned tree fail.
## Data protection
All state — the feeder config, its redb cache, the per-release `.nzb` cache, the TMDB
cache — is under `/DATA/AppData/metafeederusenet/`. The `.nzb` cache is re-derivable from
NNTmux. No user media directory is mounted.