add app for each plugin

This commit is contained in:
Worph
2026-09-13 19:47:17 +02:00
parent 39f82e1f96
commit cb067ee50f
84 changed files with 7072 additions and 3 deletions
@@ -0,0 +1,35 @@
# MetaFeeder · Internet Archive — Rationale
## What deviation / exception is being requested
`metafeederinternetarchive-feeder` runs `user: 0:0`.
## Why it is necessary
Carried over unchanged from the MetaFeeder listings this app is a sibling of, so the
feeder behaves exactly as they do. The MetaFeeder images write their state and redb
cache as the container user and some reach MetaCore's root-owned tree; a uid-1000
process is refused.
## Security mitigations in place
- Public ingress terminates at the AppShield sidecar (`ghcr.io/yundera/appshield:2.0.9`),
which gates every path behind the PCS's Authelia SSO over OIDC. The feeder carries no
Caddy labels and publishes no host port, so it is reachable only from the `pcs` Docker
network.
- The container mounts **no user directories** — not `/DATA/Documents`, `/DATA/Downloads`,
`/DATA/Media` or `/DATA/Gallery`. Its only bind is its own state under
`/DATA/AppData/metafeederinternetarchive/`, declared in `x-compose-app.folders` and owned `$PUID:$PGID`.
- `cpu_shares` and a hard `mem_limit` (swap disabled) set on every service; image tags
pinned; no `:latest`.
## Alternatives considered and rejected
- **Run as `$PUID:$PGID`.** Not validated for this image; the sibling MetaFeeder apps all
run `0:0`, and changing the runtime user here would make this listing the odd one out
for no measured benefit.
## Data protection
The feeder holds no user media. Its entire state lives under `/DATA/AppData/metafeederinternetarchive/`, which
is the unit Maison archives on uninstall and restores from backup.