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.
61 lines
2.4 KiB
Markdown
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`.
|