MetaPlugin/MetaFeeder/MetaTransport apps: headless services (no AppShield, no Caddy route, no webui); drop parent; MetaFeederUsenet tile → nntmux

This commit is contained in:
Worph
2026-10-04 11:12:44 +00:00
parent 2c64e3c90e
commit ffc06507fc
32 changed files with 86 additions and 1437 deletions
+11 -49
View File
@@ -303,8 +303,8 @@ services:
# metafeederusenet-feeder — the usenet feeder sidecar (meta-feeder-usenet).
# Reads nntmux's release catalog + shared .nzb store; self-publishes
# resolved records + seeds the `.nzb` manifest to the shared MetaCore. The
# gateway reaches it directly on `pcs`; the human configures it through the
# AppShield gate below.
# gateway reaches it directly on `pcs`; the human configures it from
# the MetaGateway dashboard (configure panel).
# ---------------------------------------------------------------------------
metafeederusenet-feeder:
image: ghcr.io/worph/meta-feeder-usenet:1.0.6
@@ -323,7 +323,7 @@ services:
# INFRA-ONLY env (the "config: no env if in webui" rule). Operator
# config beyond the two DB/path seeds below — TMDB token / language,
# meta-core URL — is read from the persisted config.json (this
# feeder's config page behind the AppShield gate). These env vars are
# feeder's config page, opened from the MetaGateway dashboard (configure panel)). These env vars are
# wiring only: the enrichment sidecars, the enrich callback, the peer id.
RUST_LOG: "info,meta_feeder=info"
# The peer id stamped into provenance.gateway_peer on every record this
@@ -402,43 +402,6 @@ services:
networks:
- metafeederusenet
- pcs
# ---------------------------------------------------------------------------
# AppShield gate — the feeder's config UI (nntmux DB URL / nzb path, TMDB
# token) behind Yundera OIDC SSO. container_name == subdomain prefix. The
# gateway still reaches the feeder directly on `pcs` (this gate is for the
# human only); index → /config.
# ---------------------------------------------------------------------------
metafeederusenet:
image: ghcr.io/yundera/appshield:2.0.9
cpu_shares: 80
container_name: metafeederusenet
hostname: metafeederusenet
restart: unless-stopped
user: "0:0"
expose:
- 80
environment:
OIDC_REGISTRAR_URL: "http://auth-registrar:9092"
REDIRECT_HOST_SUFFIXES: "${APP_DOMAIN},${APP_PUBLIC_IP_DASH}.nip.io,${APP_PUBLIC_IP_DASH}.sslip.io"
BACKEND_HOST: "metafeederusenet-feeder"
BACKEND_PORT: "8080"
LISTEN_PORT: "80"
labels:
caddy_0: metafeederusenet-${APP_DOMAIN}
caddy_0.import: gateway_tls
caddy_0.reverse_proxy: "{{upstreams 80}}"
caddy_1: metafeederusenet-${APP_PUBLIC_IP_DASH}.nip.io
caddy_1.import: gateway_tls
caddy_1.reverse_proxy: "{{upstreams 80}}"
caddy_2: metafeederusenet-${APP_PUBLIC_IP_DASH}.sslip.io
caddy_2.reverse_proxy: "{{upstreams 80}}"
depends_on:
- metafeederusenet-feeder
networks:
- metafeederusenet
- pcs
networks:
metafeederusenet:
name: metafeederusenet
@@ -454,9 +417,6 @@ x-casaos:
author: Worph Team
category: Media
developer: Aptero Team
main: metafeederusenet
webui_port: 80
index: /config
description:
en_us: |
@@ -609,7 +569,7 @@ x-casaos:
full-retention backfill is hundreds of GB. `backfill_days` is the
knob that bounds it — start small, widen once you see releases.
7. Open this app's config UI (the dashboard link) to optionally set a
7. Open its config panel (the **MetaGateway** dashboard → this feeder → *configure*) to optionally set a
TMDB v4 token for posters, then Save.
8. In **MetaGateway**, make sure this feeder is listed in its feeders
config (`http://metafeederusenet-feeder:8080`) so it gets
@@ -623,8 +583,8 @@ x-casaos:
<group>` / `sleeping`). `settings.running=0` shows up there as
`idle`.
**Authentication:** the feeder's config UI is protected by Yundera's
Authelia (OIDC); nntmux uses its own login (seeded above).
**Authentication:** the feeder's config page opens from the **MetaGateway**
dashboard (behind its login); nntmux uses its own login (seeded above).
pre-install-cmd: |
# Seed nntmux's .env (trap #1 — must be a complete file, see header).
@@ -903,6 +863,8 @@ x-compose-app:
- path: /DATA/AppData/metafeederusenet/scanner
user: $PUID
group: $PGID
# Same string as the caddy_0 label, so the tile link and the route agree.
webui-host: metafeederusenet-${domain}
webui-path: "/config"
# Same string as nntmux's caddy_0 label, so the tile link and the route agree.
# The tile opens nntmux's own admin UI (its own login, its own Caddy route).
# The feeder itself is configured from the MetaGateway dashboard.
webui-host: metafeederusenetnntmux-${domain}
webui-path: "/"