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
@@ -50,50 +50,8 @@ services:
# payload and writes back through the caller. No key, no WebDAV.
TZ: "$TZ"
networks:
- metapluginanimedetector
- pcs
# ---------------------------------------------------------------------------
# AppShield gate — the plugin's `/manifest` behind Yundera OIDC SSO.
# container_name == subdomain prefix (the auth-registrar derives the client_id
# from it). Consumers still reach the plugin directly on `pcs`; this gate
# exists so `/process` and `/configure` are never reachable from the internet
# without a session.
# ---------------------------------------------------------------------------
metapluginanimedetector:
image: ghcr.io/yundera/appshield:2.0.9
cpu_shares: 80
container_name: metapluginanimedetector
hostname: metapluginanimedetector
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: "metapluginanimedetector-plugin"
BACKEND_PORT: "8080"
LISTEN_PORT: "80"
labels:
caddy_0: metapluginanimedetector-${APP_DOMAIN}
caddy_0.import: gateway_tls
caddy_0.reverse_proxy: "{{upstreams 80}}"
caddy_1: metapluginanimedetector-${APP_PUBLIC_IP_DASH}.nip.io
caddy_1.import: gateway_tls
caddy_1.reverse_proxy: "{{upstreams 80}}"
caddy_2: metapluginanimedetector-${APP_PUBLIC_IP_DASH}.sslip.io
caddy_2.reverse_proxy: "{{upstreams 80}}"
depends_on:
- metapluginanimedetector-plugin
networks:
- metapluginanimedetector
- pcs
networks:
metapluginanimedetector:
name: metapluginanimedetector
driver: bridge
pcs:
name: ${APP_NET:-pcs}
external: true
@@ -105,9 +63,6 @@ x-casaos:
author: Worph Team
category: Developer
developer: Aptero Team
main: metapluginanimedetector
webui_port: 80
index: /manifest
description:
en_us: |
@@ -161,14 +116,11 @@ x-casaos:
addressable at `http://metapluginanimedetector-plugin:8080` for your own caller — not
expecting it to light up MetaSort or a MetaFeeder on its own.
**Authentication:** the `/manifest` page is protected by Yundera's Authelia
(OIDC). Consumers on the `pcs` network bypass the gate by design.
**No web UI:** a headless service. Its consumers reach it directly on the
`pcs` network.
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
# schema_version 2 is required for `folders`: an older Maison refuses the app
# outright rather than starting it without its directories.
x-compose-app:
schema_version: 2
# Same string as the caddy_0 label, so the tile link and the route agree.
webui-host: metapluginanimedetector-${domain}
webui-path: "/manifest"