Start with the dashboard. Read missing count, queue count, worker state, and storage pressure.
Operate a NAS archive without guessing what to click.
This screen-by-screen manual explains how to register a channel, sync metadata, skip videos that already exist on disk, stage only missing videos, run bounded download passes, and verify the local library.
Register, sync, stage, download, verify.
Real downloads require an explicit confirmation modal.
A DB row is not archived unless the media file exists.
Do not expose alpha builds directly to the public internet.
First 10 minutes: click in this order
You do not need to understand every panel first. Follow these five actions to reach the core workflow: download only videos that are missing from the NAS.
Open the channel detail screen and run metadata sync before staging downloads.
The app creates candidates only for videos that are missing on disk.
Use filters and preflight before starting a real worker pass.
After download completion, Library and coverage counters should reflect actual media files.
If the worker is off or the channel is paused, candidates may be created while claims stay blocked.
youtube-dl --download-archive archive.txt: already
downloaded videos are skipped. The difference is that skip decisions,
candidates, queue state, and library verification are visible.
Dashboard: read the next action first
The dashboard is an operating cockpit. It summarizes channel coverage, queue pressure, storage pressure, runtime state, and the next useful action.
- Select the channel in the
Current channelswitcher. - If
New video checkis non-zero, run sync first. - If
View progressis non-zero, inspect the queue. - If runtime is off, use Settings before expecting real downloads.
Channel detail: one channel, five tabs
Channel detail is split into Overview / Downloads / Library /
Logs / Policy. Use Overview for status and Downloads for the
actual staging workflow.
New video checkrefreshes YouTube metadata and source state.Download new onlystages missing videos and opens a confirmation modal.View progressopens the queue filtered to the current channel.
Download flow: safe by default
The Downloads tab combines candidate generation, preflight, queue registration, dry-run, and real worker pass controls. Real transfer starts only after an explicit confirmation.
When real download is locked
Worker is paused: channel policy or maintenance mode blocks claims.Worker off: enable runtime worker settings and complete apply/restart.0 claimable jobs: there are no staged jobs that the worker can claim.
archive.txt import
Paste an existing archive ledger to classify each line as archived, known missing, unknown, duplicate, or invalid before any download starts.
Queue: inspect what is actually moving
Queue is the global job console. Use it when you need a wider view than the channel-specific download panel.
- Use
Runnableto focus on jobs that can move now. - Run
Preflightto inspect the yt-dlp command plan. - Use
Queue selectedto promote candidates. - Use
Dry runbefore a real worker pass. - Start real download only after reviewing the confirmation modal.
Library: verify completed downloads from disk
Library is the source of truth after downloads. It checks actual media files, sidecars, subtitles, thumbnails, codec metadata, queue state, and path integrity.
- Saved views make repeated checks such as missing subtitles or media-only rows faster.
- Stale DB rows should appear as missing or indexed-only, not as archived media.
- Use item detail drawers to inspect files and streamable media endpoints.
Logs and policy: explain automation decisions
Logs show what happened. Policy explains what the app is allowed to do next for a specific channel.
auto_downloadcan create candidates while the paused worker still blocks claims.sync_interval_minutescontrols metadata scheduler due-channel selection.- Repeated failures should be reviewed from Queue details and Logs before retrying blindly.
Insights: inspect the NAS filesystem
Insights reads the archive root and reports storage pressure, folder structure, unindexed media, indexed-but-missing files, and orphan sidecars.
Settings: runtime and public-access guardrails
Settings is the runtime console for worker flags, scheduler flags, binary paths, restart adapters, auth token setup, backup commands, tick logs, and support bundles.
- Set
CVN_AUTH_TOKENbefore using anything beyond localhost. - After runtime edits, complete the apply/restart flow.
- For Docker Compose, copy or enable the validated restart adapter command.
- Use redacted support bundles when reporting issues.
Mobile width: quick checks near the NAS
Narrow screens stack navigation and cards vertically. Desktop is still better for bulk operations, but mobile width is usable for status checks and quick navigation.
Common confusing states
Enable worker runtime settings and check channel policy or maintenance reason.
Run New video check first, then verify Library coverage.
Coverage and staging decisions trust actual media files under the download root.
Review duplicate, invalid, unknown, and known-missing rows before staging.
Open Queue job details and Logs before retrying repeatedly.
Use Runtime guide and Deployment Security before exposing the app outside localhost.