Vynode

Vynode

Docker app from Vy's Repository

Overview

Manage Plex collections, posters, overlays, watchlists, and missing media from one self-hosted interface.

Vynode

Docker and Unraid serious testing

Launch the published serious-test image with persistent configuration, or use the included Compose build while developing locally:

openssl rand -base64 32
cp .env.example .env
# Put the generated value in VYNODE_MASTER_KEY, then:
docker pull ghcr.io/minerport/vynodetemplatearr:0.1.0-rc.13
docker compose up -d --build

Open http://SERVER-IP:7171. The container includes Chromium for protected provider pages plus ffmpeg and yt-dlp for placeholder trailer media. It runs as PUID 99 / PGID 100 by default and stores all durable application state in the configured appdata directory.

For Unraid template installation, volume guidance, upgrades, and rollback, see docs/unraid-install.md. The template is unraid/vynode.xml.

Vynode is a self-hosted media automation platform for Plex collections, posters, overlays, watchlists, requests, downloads, and missing media.

Principles

  1. No capability is removed without an explicit product decision.
  2. Every external mutation is planned before it is executed.
  3. Plans are previewable, auditable, resumable, and reversible where the target service permits it.
  4. Integrations are adapters behind stable contracts.
  5. Domain logic does not depend on a web framework, database, or vendor SDK.
  6. Secrets are encrypted at rest and never included in diagnostics.
  7. SQLite is the durable storage backend for this release candidate.
  8. Plex is the supported media-server target for this release candidate.

Release validation rejects temporary release markers, development-only versions, incomplete parity entries, and unfinished integration rows.

Workspace

  • apps/control-plane: API, authentication, configuration, and job control.
  • apps/web: browser interface.
  • apps/worker: durable job execution.
  • packages/contracts: shared domain and API contracts.
  • packages/planner: pure synchronization planning.
  • packages/integrations: source and target adapter SDK.
  • docs: architecture, parity registry, and migration specifications.

User guides

First milestone

The foundation milestone is complete when:

  • every legacy capability has a parity identifier;
  • the plan/apply/rollback contracts are stable;
  • the control plane exposes unauthenticated health information at /health and /api/health, and the worker exposes its health information;
  • a simulated collection sync can produce a deterministic change plan;
  • CI runs formatting, linting, type checks, unit tests, and contract tests.

Install Vynode on Unraid in a few clicks.

Find Vynode in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Vynode Review the template variables and paths Click Install

Requirements

A base64-encoded 32-byte master key is required; retain it for backup restoration.

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/minerport/vynodetemplatearr:serious-test
Last Updated2026-08-03
First Seen2026-08-03

Runtime arguments

Web UI
http://[IP]:[PORT:7171]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--security-opt=no-new-privileges:true --cap-drop=ALL --cap-add=CHOWN --cap-add=SETGID --cap-add=SETUID

Template configuration

Web UIPorttcp

Vynode web and API port.

Target
7171
Default
7171
Value
7171
AppdataPathrw

Persistent database, secrets, jobs, assets, and logs.

Target
/var/lib/vynode
Default
/mnt/user/appdata/vynode
Value
/mnt/user/appdata/vynode
MediaPathrw

Shares allowed for placeholders and local poster folders. Narrow this path when possible.

Target
/media
Default
/mnt/user
Value
/mnt/user
Public URLVariable

Browser-visible URL, including the selected Web UI host port or reverse-proxy address.

Target
VYNODE_PUBLIC_URL
Default
http://[IP]:[PORT:7171]
Value
http://[IP]:[PORT:7171]
Master KeyVariable

Base64-encoded 32-byte encryption key. Back it up securely; changing it makes stored credentials unreadable.

Target
VYNODE_MASTER_KEY
Media RootsVariable

Comma-separated container paths Vynode may browse.

Target
VYNODE_MEDIA_ROOTS
Default
/media
Value
/media
PUIDVariable

Unraid nobody user ID.

Default
99
Value
99
PGIDVariable

Unraid users group ID.

Default
100
Value
100
Trust ProxyVariable

Set true only behind a trusted reverse proxy.

Target
VYNODE_TRUST_PROXY
Default
false
Value
false