Files
recap/start9/0.4/manifest.yaml
T
2026-04-09 15:03:31 -05:00

128 lines
3.4 KiB
YAML

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