Vynode
Docker app from Vy's Repository
Overview
Readme
View on GitHubVynode
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
- No capability is removed without an explicit product decision.
- Every external mutation is planned before it is executed.
- Plans are previewable, auditable, resumable, and reversible where the target service permits it.
- Integrations are adapters behind stable contracts.
- Domain logic does not depend on a web framework, database, or vendor SDK.
- Secrets are encrypted at rest and never included in diagnostics.
- SQLite is the durable storage backend for this release candidate.
- 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
/healthand/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.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/minerport/vynodetemplatearr:serious-testRuntime 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
Vynode web and API port.
- Target
- 7171
- Default
- 7171
- Value
- 7171
Persistent database, secrets, jobs, assets, and logs.
- Target
- /var/lib/vynode
- Default
- /mnt/user/appdata/vynode
- Value
- /mnt/user/appdata/vynode
Shares allowed for placeholders and local poster folders. Narrow this path when possible.
- Target
- /media
- Default
- /mnt/user
- Value
- /mnt/user
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]
Base64-encoded 32-byte encryption key. Back it up securely; changing it makes stored credentials unreadable.
- Target
- VYNODE_MASTER_KEY
Comma-separated container paths Vynode may browse.
- Target
- VYNODE_MEDIA_ROOTS
- Default
- /media
- Value
- /media
Unraid nobody user ID.
- Default
- 99
- Value
- 99
Unraid users group ID.
- Default
- 100
- Value
- 100
Set true only behind a trusted reverse proxy.
- Target
- VYNODE_TRUST_PROXY
- Default
- false
- Value
- false