docs: update Home wiki with M004 features (ad-hoc downloads, keyword filters, media server integration, NFO, missing file detection, content type tabs, theme/timezone/RSS)

xpltd_admin 2026-04-04 02:05:29 -06:00
parent e39dbd317d
commit 380a1b0c32

28
Home.md

@ -14,7 +14,7 @@ Tubearr is a self-hosted content archival and monitoring application in the *arr
## Current Status ## Current Status
**Actively developed.** Version 0.1.0. Core monitoring, downloading, and queue management features are functional. The application runs in production on the xpltd infrastructure. **Actively developed.** Through M004 — feature parity with competing tools (Youtarr, TubeSync, Pinchflat, Tube Archivist). Core monitoring, downloading, queue management, media server integration, and library management features are production-ready.
## Key URLs ## Key URLs
@ -23,16 +23,26 @@ Tubearr is a self-hosted content archival and monitoring application in the *arr
| **Application** | `https://tubearr.xpltd.co` | | **Application** | `https://tubearr.xpltd.co` |
| **Repository** | `https://git.xpltd.co/xpltdco/tubearr` | | **Repository** | `https://git.xpltd.co/xpltdco/tubearr` |
| **Health Check** | `https://tubearr.xpltd.co/ping` | | **Health Check** | `https://tubearr.xpltd.co/ping` |
| **RSS Feed** | `https://tubearr.xpltd.co/api/v1/feed/rss` |
## Core Features ## Core Features
- **Channel Monitoring** — Add YouTube channels or SoundCloud artists; Tubearr periodically scans for new content - **Channel Monitoring** — Add YouTube channels or SoundCloud artists; Tubearr periodically scans for new content
- **Smart Queue** — Concurrent download queue with retry logic, priority ordering, and rate limiting - **Smart Queue** — Concurrent download queue with retry logic, priority ordering, rate limiting, pause/resume per item
- **Format Profiles** — Configurable quality presets (resolution, codec, bitrate, subtitles, SponsorBlock) - **Format Profiles** — Configurable quality presets (resolution, codec, bitrate, subtitles, SponsorBlock) with output path templates
- **Multi-Platform** — YouTube, SoundCloud, and any URL supported by yt-dlp - **Multi-Platform** — YouTube, SoundCloud, and any URL supported by yt-dlp (1000+ sites)
- **Ad-hoc URL Downloads** — Paste any URL, preview metadata (title, thumbnail, duration), confirm to download
- **Keyword Filtering** — Per-channel include/exclude patterns (plain text, glob, regex) to skip unwanted content
- **Media Server Integration** — Plex and Jellyfin auto-scan on download completion with connection testing
- **NFO Metadata** — Kodi-compatible episodedetails XML sidecars with content ratings (item → channel → global cascade)
- **Missing File Detection** — Scans for removed media files, shows 'missing' badge, one-click re-download
- **Content Type Tabs** — Filter channel content by type (Videos, Shorts, Streams) with count badges
- **Real-Time Progress** — WebSocket-based live download progress in the browser UI - **Real-Time Progress** — WebSocket-based live download progress in the browser UI
- **Notifications** — Discord, email, Pushover, and Telegram alerts on grab/download/failure events - **Notifications** — Discord, email, Pushover, and Telegram alerts on grab/download/failure events
- **Back-Catalog Import** — Bulk import existing media files into the library - **Back-Catalog Import** — Bulk import existing media files into the library
- **Output Path Templates** — Configurable `{platform}/{channel}/{year}/{title}.{ext}` variable syntax with live preview
- **Timezone & Theme** — User-selectable timezone for all timestamps, dark/light theme with flash-free switching
- **RSS Feed** — Podcast-compatible RSS 2.0 feed for downloaded audio content
- **REST API** — Full API with key-based authentication for external integrations - **REST API** — Full API with key-based authentication for external integrations
## Tech Stack ## Tech Stack
@ -44,7 +54,7 @@ Tubearr is a self-hosted content archival and monitoring application in the *arr
| Database | SQLite (LibSQL) with Drizzle ORM | | Database | SQLite (LibSQL) with Drizzle ORM |
| Downloader | yt-dlp + ffmpeg | | Downloader | yt-dlp + ffmpeg |
| Build Tool | Vite | | Build Tool | Vite |
| Testing | Vitest | | Testing | Vitest (830+ tests) |
| Deployment | Docker (multi-stage build) | | Deployment | Docker (multi-stage build) |
## Wiki Pages ## Wiki Pages
@ -66,12 +76,16 @@ Tubearr is a self-hosted content archival and monitoring application in the *arr
|------|------------| |------|------------|
| **Channel** | A monitored content source — a YouTube channel, SoundCloud artist, or generic URL | | **Channel** | A monitored content source — a YouTube channel, SoundCloud artist, or generic URL |
| **Content Item** | A single piece of downloadable media (video, audio, or livestream) | | **Content Item** | A single piece of downloadable media (video, audio, or livestream) |
| **Format Profile** | A reusable quality preset defining resolution, codec, subtitles, and post-processing options | | **Format Profile** | A reusable quality preset defining resolution, codec, subtitles, output path template, and post-processing options |
| **Queue Item** | A content item that has been enqueued for download, with status tracking and retry logic | | **Queue Item** | A content item that has been enqueued for download, with status tracking, retry logic, and pause/resume |
| **Monitoring Mode** | Controls what content Tubearr grabs: `all`, `future` (new only), `existing` (backlog only), or `none` | | **Monitoring Mode** | Controls what content Tubearr grabs: `all`, `future` (new only), `existing` (backlog only), or `none` |
| **Platform Source** | An adapter for a specific content platform (YouTube, SoundCloud, Generic) | | **Platform Source** | An adapter for a specific content platform (YouTube, SoundCloud, Generic) |
| **yt-dlp** | The command-line tool that handles actual media downloading from 1000+ platforms | | **yt-dlp** | The command-line tool that handles actual media downloading from 1000+ platforms |
| **SponsorBlock** | Community-sourced sponsor segment data; Tubearr can auto-remove sponsor segments during download | | **SponsorBlock** | Community-sourced sponsor segment data; Tubearr can auto-remove sponsor segments during download |
| **Media Server** | A configured Plex or Jellyfin instance that receives automatic library scan triggers after downloads |
| **NFO Sidecar** | A Kodi-compatible XML metadata file generated alongside downloaded media |
| **Content Rating** | A per-item or per-channel rating (TV-Y through NC-17) written into NFO files for media server library categorization |
| **Keyword Filter** | Per-channel include/exclude patterns (plain text, glob, regex) applied during scheduled scans |
| ***arr family** | A category of self-hosted media management apps (Sonarr for TV, Radarr for movies, Lidarr for music) | | ***arr family** | A category of self-hosted media management apps (Sonarr for TV, Radarr for movies, Lidarr for music) |
## Infrastructure Context ## Infrastructure Context