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

61 lines
2.4 KiB
Markdown

# 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`.