No description
Find a file
2026-09-13 16:29:40 +02:00
apps Restore admin login unlock and password reset, plus desktop episode Sub actions. 2026-09-13 16:29:40 +02:00
deploy Fix Synology Admin upgrade without docker.sock via binary rename. 2026-09-09 01:59:34 +02:00
docs Add one-click remote node upgrade via WebSocket (v1.3.3). 2026-09-02 03:08:36 +02:00
node/media-node Show real subtitle languages by probing MKV track tags on the node. 2026-09-12 20:58:24 +02:00
packages Show real subtitle languages by probing MKV track tags on the node. 2026-09-12 20:58:24 +02:00
.gitignore Make VMC icon and TV banner high-contrast red for Shield. 2026-08-31 23:14:28 +02:00
GOOGLE_PLAY_ACCESS_SETUP.md Move Google Play credentials into admin Settings UI. 2026-09-01 03:10:59 +02:00
package.json Initial commit: Distributed Stremio Media Cluster V1 2026-08-25 00:17:04 +02:00
pnpm-lock.yaml Restore missing fastify dependency removed when adding Google auth. 2026-09-01 03:13:44 +02:00
pnpm-workspace.yaml Initial commit: Distributed Stremio Media Cluster V1 2026-08-25 00:17:04 +02:00
README.md Rewrite README as Vonas Media Cluster for store-friendly positioning. 2026-09-10 03:51:13 +02:00

Vonas Media Cluster (VMC)

Private media software for your own movies and TV shows — comparable to Emby or Plex.

You host the library on your NAS, home server, or VPS. Native apps (Android TV, Android, iOS, and more) connect to your instance. You keep the files; VMC provides the catalog, accounts, and playback.

This repository is the self-host / server stack and related client apps. Store apps are meant to connect to a server you control (or one provided for your household).

What it is

  • Master — API, admin console, viewer accounts, library metadata, playback sessions
  • Media nodes — scan local storage and serve video directly to clients (no VPN/SMB between sites required)
  • Apps — lean clients for TV and mobile that talk to your Master URL

Typical use: family or personal library you already own, organized once, watched on the couch or on the go.

Architecture (high level)

VMC apps  ──HTTPS──►  Master (catalog, accounts, play sessions)
                           ▲
                           │ control channel
                      Media nodes
                           │
VMC apps  ◄──HTTPS video───┘  (via your reverse proxy / HTTPS)

Design goals:

  • Direct play from the node that holds the file
  • No public raw filesystem paths
  • Server-side playback sessions
  • Optional TMDB metadata for posters and details

Repository layout

apps/master-api/     Master API
apps/admin-ui/       Admin console
apps/android-tv/     Android TV + Android phone apps
apps/ios/            iOS app
apps/tizen-tv/       Samsung Tizen client
node/media-node/     Go media node
packages/            Shared types / protocol
deploy/docker/       Docker Compose for Master
deploy/node/         Node installer + systemd
docs/                Deployment guides

Quick start (development)

npx pnpm install

# Postgres + Redis
cd deploy/docker
docker compose up -d postgres redis

# Master
cd ../../apps/master-api
cp .env.example .env
npx prisma migrate deploy
npx pnpm db:seed
npx pnpm dev

# Admin UI
cd ../admin-ui
npx pnpm dev

Production

See:

cd deploy/docker
cp ../master/.env.example ../master/.env
# Set SESSION_SECRET, ADMIN_*, PUBLIC_URL, database passwords
docker compose up -d --build

Or in Dokploy: Compose app with deploy/docker/docker-compose.dokploy.yml.

Public self-host overview (when enabled on your Master): /install on the admin/site host.

Media node

On Linux:

cd node/media-node
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o media-node ./cmd/media-node
sudo ./media-node install

CLI: install | register | run | scan | diagnostics | config | start | stop | restart | status | version

Apps

Point each app at your Master base URL (for example https://media.example.com), sign in with a viewer account, and pick a profile.

Client Location
Android TV apps/android-tv (TV module)
Android phone apps/android-tv (mobile module)
iOS apps/ios
Tizen apps/tizen-tv

Features (overview)

  • Multi-node library scan and sync
  • Movies / series matching and admin tools
  • Viewer accounts, profiles, device linking
  • Direct play with HTTP Range
  • Optional live TV (IPTV) when configured for a viewer
  • Admin: nodes, library, users, settings

Tests

cd apps/master-api && npx pnpm test
cd node/media-node && go test ./...

Privacy & intent

VMC is built for personal / household libraries under your control. Operators are responsible for using only content they are entitled to store and stream. See the in-app / site privacy policy where published.