MetaFeederSuwayomi 1.1.0 for the stock Suwayomi app (port 80, login on the config page); meta-share 2.6.4, meta-transport-ipfs 1.3.4
This commit is contained in:
@@ -8,21 +8,24 @@ name: metafeedersuwayomi
|
|||||||
# own. Split out of the former MetaFeeder · Comic app; **MetaFeeder · AniList**
|
# own. Split out of the former MetaFeeder · Comic app; **MetaFeeder · AniList**
|
||||||
# is the optional identity tier beside it.
|
# is the optional identity tier beside it.
|
||||||
#
|
#
|
||||||
# ⚠ **Needs meta-gateway ≥ 1.0.28** — chapters arrive unresolved and their page
|
|
||||||
# list follows as an EnrichPatch, which an older gateway drops.
|
|
||||||
#
|
|
||||||
# ⚠ **Suwayomi itself is a SEPARATE app — install it first.** This feeder ships
|
# ⚠ **Suwayomi itself is a SEPARATE app — install it first.** This feeder ships
|
||||||
# pointed at `suwayomi:4567`, the container the **Suwayomi** store app publishes
|
# pointed at `http://suwayomi` (port 80), the container the stock **Suwayomi**
|
||||||
# on the shared `pcs` network.
|
# store app publishes on the shared `pcs` network.
|
||||||
|
#
|
||||||
|
# ⚠ **Give the feeder Suwayomi's login.** The stock app runs
|
||||||
|
# `AUTH_MODE: simple_login`; enter its admin password (Maison → Suwayomi →
|
||||||
|
# credentials) on this feeder's config page. Only this feeder talks to
|
||||||
|
# Suwayomi — readers get chapters through the gateway — so its login stays on.
|
||||||
#
|
#
|
||||||
# ⚠ **Querying Suwayomi WRITES.** Its search and chapter calls are GraphQL
|
# ⚠ **Querying Suwayomi WRITES.** Its search and chapter calls are GraphQL
|
||||||
# mutations that cache source results into its library database.
|
# mutations that cache source results into its library database.
|
||||||
#
|
#
|
||||||
# ⚠ **Suwayomi must be reachable UNAUTHENTICATED.** An undownloaded chapter is a
|
# How a chapter is read: its record carries one portable `tachiyomi` locator
|
||||||
# list of per-page URLs pointing at the Suwayomi container, redeemed by the
|
# (minted from the chapter's address on its SITE, so every box agrees on it).
|
||||||
# READER's meta-share peer with no credentials. Suwayomi's `simple_login` 401s
|
# Opening it makes the gateway redeem it here: the feeder fetches every page
|
||||||
# those routes — a library that lists every chapter and opens none. The Suwayomi
|
# through Suwayomi and answers one CBZ, which the gateway stores once and the
|
||||||
# store app therefore runs `AUTH_MODE: none` behind an AppShield/OIDC gate.
|
# mesh serves from then on. Needs a gateway that redeems `provider-file`
|
||||||
|
# locators and MetaTransport · IPFS ≥ 1.3.4 (64 MiB redeem ceiling).
|
||||||
#
|
#
|
||||||
# It needs, over the shared `pcs` network:
|
# It needs, over the shared `pcs` network:
|
||||||
# - the **MetaGateway** app — which must list this feeder's URL
|
# - the **MetaGateway** app — which must list this feeder's URL
|
||||||
@@ -37,11 +40,11 @@ name: metafeedersuwayomi
|
|||||||
services:
|
services:
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# metafeedersuwayomi-feeder — the chapter tier. Resolves a work to titles,
|
# metafeedersuwayomi-feeder — the chapter tier. Resolves a work to titles,
|
||||||
# searches every installed source, returns the chapters. Chapters are listed
|
# searches every installed source, returns the chapters. Listing fetches no
|
||||||
# lazily: each chapter's page list is fetched only when a reader opens it.
|
# page: a chapter's pages are fetched once, when a reader first opens it.
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
metafeedersuwayomi-feeder:
|
metafeedersuwayomi-feeder:
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-feeder-suwayomi:1.0.8
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-feeder-suwayomi:1.1.0
|
||||||
cpu_shares: 30
|
cpu_shares: 30
|
||||||
container_name: metafeedersuwayomi-feeder
|
container_name: metafeedersuwayomi-feeder
|
||||||
mem_limit: 256m
|
mem_limit: 256m
|
||||||
@@ -54,16 +57,15 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
RUST_LOG: "info,meta_feeder=info,suwayomi_feeder=info"
|
RUST_LOG: "info,meta_feeder=info,suwayomi_feeder=info"
|
||||||
META_FEEDER_STATE_DIR: "/data/meta-feeder"
|
META_FEEDER_STATE_DIR: "/data/meta-feeder"
|
||||||
# INFRA-ONLY env, and only a FIRST-BOOT SEED: `base_url` is a field on
|
# FIRST-BOOT SEEDS only: `base_url`, `username` and `password` are fields
|
||||||
# this feeder's own config page (the MetaGateway dashboard (configure panel)), and a value saved
|
# on this feeder's own config page (MetaGateway dashboard → this feeder →
|
||||||
# there wins. `suwayomi` is the container the Suwayomi store app publishes
|
# configure), and a value saved there wins. `suwayomi` is the container
|
||||||
# on `pcs` — change it only to point at a Suwayomi somewhere else, and see
|
# the Suwayomi store app publishes on `pcs`, on port 80.
|
||||||
# the reachability warning in the header before you do.
|
SUWAYOMI_URL: "http://suwayomi"
|
||||||
SUWAYOMI_URL: "http://suwayomi:4567"
|
# The stock Suwayomi app's login user. Its password is per-install
|
||||||
# Listing chapters is cheap (one call returns them all); RESOLVING a
|
# (Maison → Suwayomi → credentials) and no app can read another's
|
||||||
# chapter's page list is what costs. 0 = fetch nothing until a reader
|
# secret, so it is entered once on the config page.
|
||||||
# clicks. Raise it to pre-warm the first N ordinals per work.
|
SUWAYOMI_USERNAME: "admin"
|
||||||
SUWAYOMI_WARM_CHAPTERS: "0"
|
|
||||||
# ⚠ SUWAYOMI_MAX_CHAPTERS is deliberately NOT set: it bounds how many
|
# ⚠ SUWAYOMI_MAX_CHAPTERS is deliberately NOT set: it bounds how many
|
||||||
# chapters are LISTED, and any value can only truncate a long series into
|
# chapters are LISTED, and any value can only truncate a long series into
|
||||||
# looking short.
|
# looking short.
|
||||||
@@ -101,9 +103,9 @@ x-casaos:
|
|||||||
you installed in the **Suwayomi** app, and mints its own work cards so search
|
you installed in the **Suwayomi** app, and mints its own work cards so search
|
||||||
works on its own. Add **MetaFeeder · AniList** to name works across sources.
|
works on its own. Add **MetaFeeder · AniList** to name works across sources.
|
||||||
|
|
||||||
**Install Suwayomi first.** It is a separate app in this store (with a
|
**Install Suwayomi first** (a separate app, with a FlareSolverr sidecar so
|
||||||
FlareSolverr sidecar, so Cloudflare-protected sources work). This feeder arrives
|
Cloudflare-protected sources work). This feeder arrives pointed at it; give it
|
||||||
pointed at it and needs no wiring.
|
Suwayomi's admin password on its config page.
|
||||||
|
|
||||||
**You own the sources.** Suwayomi ships exactly one built-in source — *Local
|
**You own the sources.** Suwayomi ships exactly one built-in source — *Local
|
||||||
source*, which reads CBZ/CBR from its own folder. Everything else is an extension
|
source*, which reads CBZ/CBR from its own folder. Everything else is an extension
|
||||||
@@ -114,8 +116,9 @@ x-casaos:
|
|||||||
**Multi-source by design.** Every installed source that carries a work
|
**Multi-source by design.** Every installed source that carries a work
|
||||||
contributes, and each chapter row offers a chooser across them.
|
contributes, and each chapter row offers a chooser across them.
|
||||||
|
|
||||||
**Lazy by default.** Listing a series' chapters costs one upstream call however
|
**Fetched once, shared after.** Listing a series' chapters costs one upstream
|
||||||
long it is; a chapter's page list is fetched only when someone opens it.
|
call however long it is. A chapter's pages are fetched the first time someone
|
||||||
|
opens it, stored as one CBZ, and served from the mesh from then on.
|
||||||
**Requires:** **MetaGateway** — its meta-core stores the resolved records and
|
**Requires:** **MetaGateway** — its meta-core stores the resolved records and
|
||||||
announces them to the swarm. The gateway must list this feeder in its config.
|
announces them to the swarm. The gateway must list this feeder in its config.
|
||||||
**Pairs with: MetaRead**, the reading client.
|
**Pairs with: MetaRead**, the reading client.
|
||||||
@@ -131,8 +134,9 @@ x-casaos:
|
|||||||
**Vous possédez les sources.** Suwayomi n'embarque que *Local source* ; tout le
|
**Vous possédez les sources.** Suwayomi n'embarque que *Local source* ; tout le
|
||||||
reste est une extension que **vous** installez via l'interface Suwayomi.
|
reste est une extension que **vous** installez via l'interface Suwayomi.
|
||||||
|
|
||||||
**Paresseux par défaut.** Lister les chapitres coûte un appel ; les pages d'un
|
**Récupéré une fois, partagé ensuite.** Lister les chapitres coûte un appel ;
|
||||||
chapitre ne sont récupérées qu'à l'ouverture.
|
les pages d'un chapitre sont récupérées à sa première ouverture, stockées en un
|
||||||
|
CBZ, puis servies par le maillage.
|
||||||
|
|
||||||
**Nécessite :** les apps **MetaGateway** et **Suwayomi**. **Va avec : MetaRead.**
|
**Nécessite :** les apps **MetaGateway** et **Suwayomi**. **Va avec : MetaRead.**
|
||||||
tagline:
|
tagline:
|
||||||
@@ -152,8 +156,8 @@ x-casaos:
|
|||||||
before_install:
|
before_install:
|
||||||
en_us: |
|
en_us: |
|
||||||
**Install order:** **MetaGateway** first, then **Suwayomi** — the separate
|
**Install order:** **MetaGateway** first, then **Suwayomi** — the separate
|
||||||
store app this feeder reads. This app arrives pointed at `suwayomi:4567`; without
|
store app this feeder reads. This app arrives pointed at `http://suwayomi`;
|
||||||
that app installed it stays healthy and simply finds no chapters.
|
without that app installed it stays healthy and simply finds no chapters.
|
||||||
|
|
||||||
**After installing this app:**
|
**After installing this app:**
|
||||||
1. In **MetaGateway**, add this feeder from the dashboard's *Add a feeder* box —
|
1. In **MetaGateway**, add this feeder from the dashboard's *Add a feeder* box —
|
||||||
@@ -167,16 +171,17 @@ x-casaos:
|
|||||||
4. Optionally install **MetaFeeder · AniList** so chapters from several sources
|
4. Optionally install **MetaFeeder · AniList** so chapters from several sources
|
||||||
converge on one work page.
|
converge on one work page.
|
||||||
|
|
||||||
|
5. **Give the feeder Suwayomi's login:** copy the admin password from Maison →
|
||||||
|
Suwayomi → credentials into this feeder's config page (*Suwayomi password*).
|
||||||
|
Changed it in Maison later? Enter it here again.
|
||||||
|
|
||||||
This app has no web UI of its own: the **feeder's config page** (Suwayomi URL,
|
This app has no web UI of its own: the **feeder's config page** (Suwayomi URL,
|
||||||
chapters per work, chapters pre-loaded) opens from the **MetaGateway**
|
username, password, chapters per work) opens from the **MetaGateway**
|
||||||
dashboard → this feeder → *configure*. Suwayomi's own UI is the Suwayomi app.
|
dashboard → this feeder → *configure*. Suwayomi's own UI is the Suwayomi app.
|
||||||
|
|
||||||
**⚠ Querying Suwayomi writes to it.** Rows will appear in its library that you
|
**⚠ Querying Suwayomi writes to it.** Rows will appear in its library that you
|
||||||
did not add by hand. That is inherent to how the aggregator works.
|
did not add by hand. That is inherent to how the aggregator works.
|
||||||
|
|
||||||
**Suwayomi's own login must stay off** — the reader fetches chapter pages from it
|
|
||||||
unauthenticated, so enabling it gives a library that lists every chapter and can
|
|
||||||
open none.
|
|
||||||
**No web UI of its own:** configure it from the **MetaGateway** dashboard → this feeder → *configure* (the gateway proxies this feeder's config page, behind the gateway's login).
|
**No web UI of its own:** configure it from the **MetaGateway** dashboard → this feeder → *configure* (the gateway proxies this feeder's config page, behind the gateway's login).
|
||||||
|
|
||||||
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
# Maison (Yundera dashboard) configuration. Read in preference to x-casaos.
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ services:
|
|||||||
# MetaShare app's `metashare-<tier>` hostnames, which on a shared `pcs`
|
# MetaShare app's `metashare-<tier>` hostnames, which on a shared `pcs`
|
||||||
# would be ANOTHER hull's plugins writing to another /data).
|
# would be ANOTHER hull's plugins writing to another /data).
|
||||||
# - 3000 HTTP API - 3001 plugin callback API (internal only)
|
# - 3000 HTTP API - 3001 plugin callback API (internal only)
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.4
|
||||||
container_name: metagateway-share
|
container_name: metagateway-share
|
||||||
# The swarm and blockstore moved to the ipfs plugin, so the hull needs far
|
# The swarm and blockstore moved to the ipfs plugin, so the hull needs far
|
||||||
# less than the monolith did.
|
# less than the monolith did.
|
||||||
@@ -129,7 +129,7 @@ services:
|
|||||||
# mDNS, bitswap), the blockstore, gateway discovery and the peer directory
|
# mDNS, bitswap), the blockstore, gateway discovery and the peer directory
|
||||||
# the hull uses to forward Usenet cids. Waits up to 60 s for the hull's
|
# the hull uses to forward Usenet cids. Waits up to 60 s for the hull's
|
||||||
# internal /health before opening blocks.redb, so no depends_on.
|
# internal /health before opening blocks.redb, so no depends_on.
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.4
|
||||||
container_name: metagateway-share-ipfs
|
container_name: metagateway-share-ipfs
|
||||||
hostname: metagateway-share-ipfs
|
hostname: metagateway-share-ipfs
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ services:
|
|||||||
# MetaShare app's `metashare-<tier>` hostnames, which on a shared `pcs`
|
# MetaShare app's `metashare-<tier>` hostnames, which on a shared `pcs`
|
||||||
# would be ANOTHER hull's plugins writing to another /data).
|
# would be ANOTHER hull's plugins writing to another /data).
|
||||||
# - 3000 HTTP API - 3001 plugin callback API (internal only)
|
# - 3000 HTTP API - 3001 plugin callback API (internal only)
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.4
|
||||||
container_name: metaread-share
|
container_name: metaread-share
|
||||||
# The swarm and blockstore moved to the ipfs plugin, so the hull needs far
|
# The swarm and blockstore moved to the ipfs plugin, so the hull needs far
|
||||||
# less than the monolith did.
|
# less than the monolith did.
|
||||||
@@ -202,7 +202,7 @@ services:
|
|||||||
# mDNS, bitswap), the blockstore, gateway discovery and the peer directory
|
# mDNS, bitswap), the blockstore, gateway discovery and the peer directory
|
||||||
# the hull uses to forward Usenet cids. Waits up to 60 s for the hull's
|
# the hull uses to forward Usenet cids. Waits up to 60 s for the hull's
|
||||||
# internal /health before opening blocks.redb, so no depends_on.
|
# internal /health before opening blocks.redb, so no depends_on.
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.4
|
||||||
container_name: metaread-share-ipfs
|
container_name: metaread-share-ipfs
|
||||||
hostname: metaread-share-ipfs
|
hostname: metaread-share-ipfs
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ services:
|
|||||||
# - 3000 HTTP API + dashboard (proxied through the hash-lock + Caddy)
|
# - 3000 HTTP API + dashboard (proxied through the hash-lock + Caddy)
|
||||||
# - 3001 plugin callback API — internal only, never published
|
# - 3001 plugin callback API — internal only, never published
|
||||||
metashare-app:
|
metashare-app:
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.4
|
||||||
container_name: metashare-app
|
container_name: metashare-app
|
||||||
# Hard RAM cap, swap disabled (memswap_limit == mem_limit) → OOM instead of
|
# Hard RAM cap, swap disabled (memswap_limit == mem_limit) → OOM instead of
|
||||||
# swap. The swarm, blockstore and torrent session moved to the plugins, so
|
# swap. The swarm, blockstore and torrent session moved to the plugins, so
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ name: metatransportipfs
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
metashare-ipfs:
|
metashare-ipfs:
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.4
|
||||||
container_name: metashare-ipfs
|
container_name: metashare-ipfs
|
||||||
hostname: metashare-ipfs
|
hostname: metashare-ipfs
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ services:
|
|||||||
# MetaShare app's `metashare-<tier>` hostnames, which on a shared `pcs`
|
# MetaShare app's `metashare-<tier>` hostnames, which on a shared `pcs`
|
||||||
# would be ANOTHER hull's plugins writing to another /data).
|
# would be ANOTHER hull's plugins writing to another /data).
|
||||||
# - 3000 HTTP API - 3001 plugin callback API (internal only)
|
# - 3000 HTTP API - 3001 plugin callback API (internal only)
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-share:2.6.4
|
||||||
container_name: metawatch-share
|
container_name: metawatch-share
|
||||||
# The swarm and blockstore moved to the ipfs plugin, so the hull needs far
|
# The swarm and blockstore moved to the ipfs plugin, so the hull needs far
|
||||||
# less than the monolith did.
|
# less than the monolith did.
|
||||||
@@ -205,7 +205,7 @@ services:
|
|||||||
# mDNS, bitswap), the blockstore, gateway discovery and the peer directory
|
# mDNS, bitswap), the blockstore, gateway discovery and the peer directory
|
||||||
# the hull uses to forward Usenet cids. Waits up to 60 s for the hull's
|
# the hull uses to forward Usenet cids. Waits up to 60 s for the hull's
|
||||||
# internal /health before opening blocks.redb, so no depends_on.
|
# internal /health before opening blocks.redb, so no depends_on.
|
||||||
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.2
|
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-transport-ipfs:1.3.4
|
||||||
container_name: metawatch-share-ipfs
|
container_name: metawatch-share-ipfs
|
||||||
hostname: metawatch-share-ipfs
|
hostname: metawatch-share-ipfs
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
Reference in New Issue
Block a user