id: youtube-summarizer title: YouTube Summarizer version: 0.1.0.1 release-notes: >- Initial StartOS package. Download, transcribe, and summarize YouTube videos and podcast episodes using Google Gemini AI. license: Proprietary wrapper-repo: https://github.com/user/youtube-summarizer-startos upstream-repo: https://github.com/user/youtube-summarizer support-site: https://github.com/user/youtube-summarizer/issues marketing-site: https://github.com/user/youtube-summarizer build: ["make image"] description: short: Download, transcribe, and summarize YouTube videos and podcasts with AI. long: >- YouTube Summarizer downloads audio from YouTube videos and podcast RSS feeds, transcribes them using Google Gemini, and produces structured topic-by-topic summaries with timestamps. Features include channel and podcast subscriptions with automatic new episode detection, organized history with folders, multiple AI model support, and a responsive web interface. Requires a Google Gemini API key (free tier available at aistudio.google.com/apikey). assets: license: LICENSE icon: icon.png instructions: instructions.md docker-images: image.tar main: type: docker image: main entrypoint: docker_entrypoint.sh args: [] mounts: main: /data health-checks: main: name: API health success-message: YouTube Summarizer is responding. type: docker image: main entrypoint: healthcheck.sh args: [] inject: true config: ~ dependencies: {} volumes: main: type: data interfaces: main: name: Web Interface description: Browser UI for YouTube Summarizer. tor-config: port-mapping: 80: "3001" lan-config: 443: ssl: true internal: 3001 ui: true protocols: [tcp, http, https] backup: create: type: docker image: main system: false entrypoint: sh args: - -c - | set -eu rm -rf /backup/* # Back up all persistent data except temp binaries (re-downloadable) mkdir -p /backup/history /backup/config cp -a /data/history/. /backup/history/ 2>/dev/null || true cp -a /data/config/. /backup/config/ 2>/dev/null || true cp /data/cookies.txt /backup/ 2>/dev/null || true cp /data/.env /backup/ 2>/dev/null || true mounts: main: /data BACKUP: /backup restore: type: docker image: main system: false entrypoint: sh args: - -c - | set -eu mkdir -p /data/history /data/config cp -a /backup/history/. /data/history/ 2>/dev/null || true cp -a /backup/config/. /data/config/ 2>/dev/null || true cp /backup/cookies.txt /data/ 2>/dev/null || true cp /backup/.env /data/ 2>/dev/null || true mounts: main: /data BACKUP: /backup actions: update-ytdlp: name: Update yt-dlp description: >- Downloads the latest version of yt-dlp. Run this if YouTube downloads are failing — YouTube frequently changes its systems, requiring yt-dlp updates. warning: This may take a minute. The service will continue running. implementation: type: docker image: main system: false entrypoint: sh args: - -c - | pip3 install --break-system-packages -U yt-dlp curl_cffi 2>&1 echo "---" echo "yt-dlp version: $(yt-dlp --version)" inject: true