MetaTransport apps: headless MetaShare extensions (parent: metashare), no AppShield/Caddy route; config via MetaShare's proxy
This commit is contained in:
@@ -9,6 +9,10 @@ name: metatransportipfs
|
|||||||
# `tmp/` → `cache/` promote is one rename(2), and the hull reads plugin-written
|
# `tmp/` → `cache/` promote is one rename(2), and the hull reads plugin-written
|
||||||
# files directly). Its own settings live in its state dir (config.json), edited
|
# files directly). Its own settings live in its state dir (config.json), edited
|
||||||
# through MetaShare's dashboard.
|
# through MetaShare's dashboard.
|
||||||
|
#
|
||||||
|
# A headless service: no tile link, no Caddy route, no AppShield. Its config
|
||||||
|
# page is reached only through MetaShare (Plugins → configure, proxied by
|
||||||
|
# /api/plugins/<name>/ui/*), behind MetaShare's own perimeter.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
metashare-ipfs:
|
metashare-ipfs:
|
||||||
@@ -53,45 +57,9 @@ services:
|
|||||||
retries: 10
|
retries: 10
|
||||||
start_period: 30s
|
start_period: 30s
|
||||||
networks:
|
networks:
|
||||||
- metatransportipfs
|
|
||||||
- pcs
|
|
||||||
|
|
||||||
# OIDC perimeter in front of the plugin's own config page (the tile link).
|
|
||||||
# MetaShare's dashboard embeds the same page through its own proxy.
|
|
||||||
metatransportipfs:
|
|
||||||
image: ghcr.io/yundera/appshield:2.0.9
|
|
||||||
cpu_shares: 80
|
|
||||||
container_name: metatransportipfs
|
|
||||||
hostname: metatransportipfs
|
|
||||||
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: "metashare-ipfs"
|
|
||||||
BACKEND_PORT: "3000"
|
|
||||||
LISTEN_PORT: "80"
|
|
||||||
labels:
|
|
||||||
caddy_0: metatransportipfs-${APP_DOMAIN}
|
|
||||||
caddy_0.import: gateway_tls
|
|
||||||
caddy_0.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
caddy_1: metatransportipfs-${APP_PUBLIC_IP_DASH}.nip.io
|
|
||||||
caddy_1.import: gateway_tls
|
|
||||||
caddy_1.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
caddy_2: metatransportipfs-${APP_PUBLIC_IP_DASH}.sslip.io
|
|
||||||
caddy_2.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
depends_on:
|
|
||||||
- metashare-ipfs
|
|
||||||
networks:
|
|
||||||
- metatransportipfs
|
|
||||||
- pcs
|
- pcs
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
metatransportipfs:
|
|
||||||
name: metatransportipfs
|
|
||||||
driver: bridge
|
|
||||||
pcs:
|
pcs:
|
||||||
name: ${APP_NET:-pcs}
|
name: ${APP_NET:-pcs}
|
||||||
external: true
|
external: true
|
||||||
@@ -104,9 +72,6 @@ x-casaos:
|
|||||||
category: Media
|
category: Media
|
||||||
tags: ["media", "needs-public-ip"]
|
tags: ["media", "needs-public-ip"]
|
||||||
developer: Aptero Team
|
developer: Aptero Team
|
||||||
main: metatransportipfs
|
|
||||||
webui_port: 80
|
|
||||||
index: /config
|
|
||||||
|
|
||||||
description:
|
description:
|
||||||
en_us: |
|
en_us: |
|
||||||
@@ -161,8 +126,7 @@ x-casaos:
|
|||||||
driven by it. MetaShare picks it up automatically within ~10 s; check
|
driven by it. MetaShare picks it up automatically within ~10 s; check
|
||||||
**MetaShare → Plugins**, where it shows as *live*.
|
**MetaShare → Plugins**, where it shows as *live*.
|
||||||
|
|
||||||
Settings: **MetaShare → Plugins → ipfs → configure** (or this app's own
|
Settings: **MetaShare → Plugins → ipfs → configure**. Saving restarts the plugin to apply.
|
||||||
tile). Saving restarts the plugin to apply.
|
|
||||||
|
|
||||||
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
||||||
x-compose-app:
|
x-compose-app:
|
||||||
@@ -171,6 +135,7 @@ x-compose-app:
|
|||||||
- path: /DATA/AppData/metatransportipfs/state
|
- path: /DATA/AppData/metatransportipfs/state
|
||||||
user: $PUID
|
user: $PUID
|
||||||
group: $PGID
|
group: $PGID
|
||||||
# Same string as the caddy_0 label, so the tile link and the route agree.
|
# An extension of MetaShare: no tile of its own, nested under MetaShare's,
|
||||||
webui-host: metatransportipfs-${domain}
|
# and listed in the store under MetaShare's Extensions. Presentation only —
|
||||||
webui-path: "/config"
|
# lifecycle and backups stay per-app.
|
||||||
|
parent: metashare
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ name: metatransportnzb
|
|||||||
# `tmp/` → `cache/` promote is one rename(2), and the hull reads plugin-written
|
# `tmp/` → `cache/` promote is one rename(2), and the hull reads plugin-written
|
||||||
# files directly). Its own settings live in its state dir (config.json), edited
|
# files directly). Its own settings live in its state dir (config.json), edited
|
||||||
# through MetaShare's dashboard.
|
# through MetaShare's dashboard.
|
||||||
|
#
|
||||||
|
# A headless service: no tile link, no Caddy route, no AppShield. Its config
|
||||||
|
# page is reached only through MetaShare (Plugins → configure, proxied by
|
||||||
|
# /api/plugins/<name>/ui/*), behind MetaShare's own perimeter.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
metashare-nzb:
|
metashare-nzb:
|
||||||
@@ -39,45 +43,9 @@ services:
|
|||||||
retries: 10
|
retries: 10
|
||||||
start_period: 30s
|
start_period: 30s
|
||||||
networks:
|
networks:
|
||||||
- metatransportnzb
|
|
||||||
- pcs
|
|
||||||
|
|
||||||
# OIDC perimeter in front of the plugin's own config page (the tile link).
|
|
||||||
# MetaShare's dashboard embeds the same page through its own proxy.
|
|
||||||
metatransportnzb:
|
|
||||||
image: ghcr.io/yundera/appshield:2.0.9
|
|
||||||
cpu_shares: 80
|
|
||||||
container_name: metatransportnzb
|
|
||||||
hostname: metatransportnzb
|
|
||||||
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: "metashare-nzb"
|
|
||||||
BACKEND_PORT: "3000"
|
|
||||||
LISTEN_PORT: "80"
|
|
||||||
labels:
|
|
||||||
caddy_0: metatransportnzb-${APP_DOMAIN}
|
|
||||||
caddy_0.import: gateway_tls
|
|
||||||
caddy_0.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
caddy_1: metatransportnzb-${APP_PUBLIC_IP_DASH}.nip.io
|
|
||||||
caddy_1.import: gateway_tls
|
|
||||||
caddy_1.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
caddy_2: metatransportnzb-${APP_PUBLIC_IP_DASH}.sslip.io
|
|
||||||
caddy_2.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
depends_on:
|
|
||||||
- metashare-nzb
|
|
||||||
networks:
|
|
||||||
- metatransportnzb
|
|
||||||
- pcs
|
- pcs
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
metatransportnzb:
|
|
||||||
name: metatransportnzb
|
|
||||||
driver: bridge
|
|
||||||
pcs:
|
pcs:
|
||||||
name: ${APP_NET:-pcs}
|
name: ${APP_NET:-pcs}
|
||||||
external: true
|
external: true
|
||||||
@@ -90,9 +58,6 @@ x-casaos:
|
|||||||
category: Media
|
category: Media
|
||||||
tags: ["media"]
|
tags: ["media"]
|
||||||
developer: Aptero Team
|
developer: Aptero Team
|
||||||
main: metatransportnzb
|
|
||||||
webui_port: 80
|
|
||||||
index: /config
|
|
||||||
|
|
||||||
description:
|
description:
|
||||||
en_us: |
|
en_us: |
|
||||||
@@ -143,8 +108,7 @@ x-casaos:
|
|||||||
driven by it. MetaShare picks it up automatically within ~10 s; check
|
driven by it. MetaShare picks it up automatically within ~10 s; check
|
||||||
**MetaShare → Plugins**, where it shows as *live*.
|
**MetaShare → Plugins**, where it shows as *live*.
|
||||||
|
|
||||||
Settings: **MetaShare → Plugins → nzb → configure** (or this app's own
|
Settings: **MetaShare → Plugins → nzb → configure**. Saving restarts the plugin to apply.
|
||||||
tile). Saving restarts the plugin to apply.
|
|
||||||
|
|
||||||
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
||||||
x-compose-app:
|
x-compose-app:
|
||||||
@@ -153,6 +117,7 @@ x-compose-app:
|
|||||||
- path: /DATA/AppData/metatransportnzb/state
|
- path: /DATA/AppData/metatransportnzb/state
|
||||||
user: $PUID
|
user: $PUID
|
||||||
group: $PGID
|
group: $PGID
|
||||||
# Same string as the caddy_0 label, so the tile link and the route agree.
|
# An extension of MetaShare: no tile of its own, nested under MetaShare's,
|
||||||
webui-host: metatransportnzb-${domain}
|
# and listed in the store under MetaShare's Extensions. Presentation only —
|
||||||
webui-path: "/config"
|
# lifecycle and backups stay per-app.
|
||||||
|
parent: metashare
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ name: metatransporttorrent
|
|||||||
# `tmp/` → `cache/` promote is one rename(2), and the hull reads plugin-written
|
# `tmp/` → `cache/` promote is one rename(2), and the hull reads plugin-written
|
||||||
# files directly). Its own settings live in its state dir (config.json), edited
|
# files directly). Its own settings live in its state dir (config.json), edited
|
||||||
# through MetaShare's dashboard.
|
# through MetaShare's dashboard.
|
||||||
|
#
|
||||||
|
# A headless service: no tile link, no Caddy route, no AppShield. Its config
|
||||||
|
# page is reached only through MetaShare (Plugins → configure, proxied by
|
||||||
|
# /api/plugins/<name>/ui/*), behind MetaShare's own perimeter.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
metashare-torrent:
|
metashare-torrent:
|
||||||
@@ -43,45 +47,9 @@ services:
|
|||||||
retries: 10
|
retries: 10
|
||||||
start_period: 30s
|
start_period: 30s
|
||||||
networks:
|
networks:
|
||||||
- metatransporttorrent
|
|
||||||
- pcs
|
|
||||||
|
|
||||||
# OIDC perimeter in front of the plugin's own config page (the tile link).
|
|
||||||
# MetaShare's dashboard embeds the same page through its own proxy.
|
|
||||||
metatransporttorrent:
|
|
||||||
image: ghcr.io/yundera/appshield:2.0.9
|
|
||||||
cpu_shares: 80
|
|
||||||
container_name: metatransporttorrent
|
|
||||||
hostname: metatransporttorrent
|
|
||||||
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: "metashare-torrent"
|
|
||||||
BACKEND_PORT: "3000"
|
|
||||||
LISTEN_PORT: "80"
|
|
||||||
labels:
|
|
||||||
caddy_0: metatransporttorrent-${APP_DOMAIN}
|
|
||||||
caddy_0.import: gateway_tls
|
|
||||||
caddy_0.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
caddy_1: metatransporttorrent-${APP_PUBLIC_IP_DASH}.nip.io
|
|
||||||
caddy_1.import: gateway_tls
|
|
||||||
caddy_1.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
caddy_2: metatransporttorrent-${APP_PUBLIC_IP_DASH}.sslip.io
|
|
||||||
caddy_2.reverse_proxy: "{{upstreams 80}}"
|
|
||||||
depends_on:
|
|
||||||
- metashare-torrent
|
|
||||||
networks:
|
|
||||||
- metatransporttorrent
|
|
||||||
- pcs
|
- pcs
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
metatransporttorrent:
|
|
||||||
name: metatransporttorrent
|
|
||||||
driver: bridge
|
|
||||||
pcs:
|
pcs:
|
||||||
name: ${APP_NET:-pcs}
|
name: ${APP_NET:-pcs}
|
||||||
external: true
|
external: true
|
||||||
@@ -94,9 +62,6 @@ x-casaos:
|
|||||||
category: Media
|
category: Media
|
||||||
tags: ["media"]
|
tags: ["media"]
|
||||||
developer: Aptero Team
|
developer: Aptero Team
|
||||||
main: metatransporttorrent
|
|
||||||
webui_port: 80
|
|
||||||
index: /config
|
|
||||||
|
|
||||||
description:
|
description:
|
||||||
en_us: |
|
en_us: |
|
||||||
@@ -152,8 +117,7 @@ x-casaos:
|
|||||||
driven by it. MetaShare picks it up automatically within ~10 s; check
|
driven by it. MetaShare picks it up automatically within ~10 s; check
|
||||||
**MetaShare → Plugins**, where it shows as *live*.
|
**MetaShare → Plugins**, where it shows as *live*.
|
||||||
|
|
||||||
Settings: **MetaShare → Plugins → torrent → configure** (or this app's own
|
Settings: **MetaShare → Plugins → torrent → configure**. Saving restarts the plugin to apply.
|
||||||
tile). Saving restarts the plugin to apply.
|
|
||||||
|
|
||||||
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
||||||
x-compose-app:
|
x-compose-app:
|
||||||
@@ -162,6 +126,7 @@ x-compose-app:
|
|||||||
- path: /DATA/AppData/metatransporttorrent/state
|
- path: /DATA/AppData/metatransporttorrent/state
|
||||||
user: $PUID
|
user: $PUID
|
||||||
group: $PGID
|
group: $PGID
|
||||||
# Same string as the caddy_0 label, so the tile link and the route agree.
|
# An extension of MetaShare: no tile of its own, nested under MetaShare's,
|
||||||
webui-host: metatransporttorrent-${domain}
|
# and listed in the store under MetaShare's Extensions. Presentation only —
|
||||||
webui-path: "/config"
|
# lifecycle and backups stay per-app.
|
||||||
|
parent: metashare
|
||||||
|
|||||||
Reference in New Issue
Block a user