Files
MetaAppStore/Apps/MetaWatch/README.md
T
Worph 39f82e1f96 Import the MetaMesh app family from Worph/AppStore
23 apps (MetaCore, the library/network/client tiers and 13 MetaFeeder*)
move out of the general-purpose Worph/AppStore into their own store so the
MetaMesh family releases on its own cadence.

- asset URLs repointed to cdn.jsdelivr.net/gh/Worph/MetaAppStore@main
- store scaffolding added (category/recommend/featured lists, licence,
  contributing, gitattributes)
- psd-source/meta-icons-v2 icon generator follows the apps

MetaMCP stays in Worph/AppStore: it is third-party metatool-ai software,
not part of MetaMesh.
2026-09-13 16:18:29 +00:00

2.4 KiB

MetaWatch

Stremio-style, video-only client for the decentralized MetaMesh network. Browses curated rows + filtered search, hides anything without a poster + description, and plays back in the browser — the server does zero media work (flat Range/206 byte proxy, no transcode).

What's in the stack

This is a self-contained stack (mirrors packages/meta-watch/dev/). It does not depend on the standalone MetaCore app — it ships its own dedicated infra so it can run alongside MetaGateway and the other Meta* apps with no collisions:

Container Role
metawatch-app UI + back-end the browser talks to (behind OIDC)
metawatch-search Discovery: Kamilata federated search, identity/sign chain, prefs, User Data Layer
metawatch-share Pure content transport: byte Range, bitswap, BitTorrent tier
metawatch-core Dedicated meta-core: identity keystore + ingested records
metawatch nginx-hash-lock OIDC perimeter for the dashboard

Identity rides meta-watch → meta-search → meta-core (meta-watch holds only verify keys). My List + Continue Watching persist in /DATA/AppData/metawatch/data via the User Data Layer op-log.

Data layout

/DATA/AppData/metawatch/
├── metacore/   # shared by core + search + share (leader info, services, redis)
└── data/       # library.json + oplog.cbor (My List / Continue Watching)

Federation

metawatch-search and metawatch-share join the public libp2p swarm (kad-DHT, cohort metamesh-share-default) and host-publish their libp2p listeners on TCP 4004 / 4003. mDNS on the pcs network lets them find a same-host MetaGateway without any open ports. To scope a private cohort, set a matching KAD_NAMESPACE on every node.

You need a content producer

MetaWatch is a consumer. To see anything, at least one MetaGateway (or another MetaShare archivist) must be reachable on the swarm. Install MetaGateway for the torznab/Prowlarr + Tribler feed.

Images

Image Tag
ghcr.io/worph/meta-watch 1.0.34
ghcr.io/worph/meta-search 1.1.0
ghcr.io/worph/meta-share 1.0.26
ghcr.io/worph/meta-core 1.0.12
ghcr.io/yundera/appshield 2.0.9

Publish the worph/* tags before listing the app — :latest tracks the newest v* git tag, not main, so an untagged fix is a no-op for a docker compose pull.