Skip to content

[v1.0.0] - 2024-12-26

Choose a tag to compare

@DmitriyLyalyuev DmitriyLyalyuev released this 24 Jun 08:19
· 81 commits to master since this release
20c688f

Added

  • Core Features

    • Automatic YouTube channel and playlist synchronization
    • SQLite database for tracking downloaded videos
    • YAML configuration with per-source settings
    • Intelligent filtering by date, file size, and duration
    • Built-in scheduler for automated synchronization
    • Comprehensive logging system
  • Docker Support

    • Multi-platform Docker images (amd64, arm64)
    • Docker Compose configuration
    • Configurable UID/GID for proper file permissions
    • Health checks and resource limits
  • Plex Integration

    • Plex TV Shows compatible naming format
    • Season-based organization by year
    • Automatic directory structure creation
    • MP4 format prioritization with FFmpeg
  • Quality Control

    • Flexible quality settings with yt-dlp format strings
    • File size and duration limitations
    • Configurable video processing options
    • Error handling and retry logic
  • CI/CD Pipeline

    • GitHub Actions workflow for automated builds
    • Multi-platform container builds
    • Security scanning with Bandit and Trivy
    • Code quality checks with Black, isort, and Pylint
    • Automated publishing to GitHub Container Registry
  • Documentation

    • Comprehensive README with usage examples
    • MIT license
    • Issue and PR templates
    • Contributing guidelines
    • FAQ and troubleshooting guide
    • Use case scenarios

Technical Details

  • Languages: Python 3.11+
  • Dependencies: yt-dlp, PyYAML, schedule, SQLite3
  • Container Registry: GitHub Container Registry (ghcr.io)
  • Supported Platforms: Linux (amd64, arm64), macOS, Windows
  • File Formats: MP4 (preferred), WebM, MKV
  • Quality Options: 1080p, 720p, 480p with customizable settings

Configuration Features

  • Individual output directories per source
  • Customizable sync intervals and schedules
  • Period-based filtering (last N days)
  • Maximum videos per source limiting
  • Automatic configuration reloading
  • Environment variable support

Security & Reliability

  • Non-privileged container execution
  • Input validation and sanitization
  • Database transaction safety
  • Graceful error handling
  • Resource usage monitoring
  • Automated vulnerability scanning