Skip to content

Releases: drbiobit/snag

Snag v1.1.0 — AI Summarize

Choose a tag to compare

@drbiobit drbiobit released this 08 Oct 17:56

What's new (v1.1.0) — AI Summarize

A new Summarize tab turns any YouTube video, playlist, or channel into a clean Markdown article written by the AI endpoint you configure.

  • Summarize page: 3-step pipeline — fetch transcript → review → AI article, with copy and download.
  • Transcripts: single video, playlist, or whole channel. Collections are combined into one document; videos with no captions (or that time out / fail) are skipped so one bad video never blocks the rest.
  • Parallel fetching: collection transcripts now fetch in parallel (4 workers) — large channels are much faster.
  • AI settings: endpoint, model, API key, temperature, timestamps, and an editable system prompt — stored in the app's SQLite database, editable in Settings. No hardcoded endpoint or key.
  • One-time setup: a skippable AI setup prompt on first launch (configurable later in Settings).
  • Changelog: new in-app Changelog tab and docs page, version by version.
  • Quick setup guide: collapsible setup card on the home page (Docker, Compose, source, systemd, PM2, Mac/Windows).
  • Docker fix: the image now includes the yt_summarize/ pipeline scripts (previously missing, which broke Summarize in Docker).

Requirements

yt-dlp and ffmpeg on PATH (unchanged), plus youtube-transcript-api (now in requirements.txt). For Summarize you must configure an OpenAI-compatible endpoint in Settings.

Upgrade (Docker)

docker pull ghcr.io/drbiobit/snag:latest
docker rm -f snag
docker run -d --name snag -p 8000:8000 -v ./downloads:/data -v ./config:/config ghcr.io/drbiobit/snag:latest

Your downloads and account are untouched. AI settings are optional — the app is fully usable without them.

Source

A clean source tarball (snag-1.1.0.tar.gz) is attached. To run from source:

tar xzf snag-1.1.0.tar.gz && cd snag-1.1.0
pip install -r requirements.txt
python snag.py    # -> http://localhost:6909

Snag v1.0.2

Choose a tag to compare

@drbiobit drbiobit released this 03 Oct 09:03

What's new (v1.0.2)

  • SQLite auth: credentials and session secret now stored in a single snag.db database instead of users.json + secret files. No more visibility or permission issues in the downloads folder.
  • Download history: every download is logged to the database. New History page shows past downloads with status, file, size, and timestamp. Buttons to clear history or reset credentials.
  • Docker: Alpine 3.20 base image (~312 MB). Auth data lives on the /config volume (SNAG_CONFIG_DIR), downloads on /data (DOWNLOAD_DIR).
  • Fix: file tracking now correctly captures the final merged/converted file (was showing intermediate format streams).
  • Docs: updated for SQLite, Alpine, and the new config directory.

Upgrade

docker pull ghcr.io/drbiobit/snag:latest
docker rm -f snag
docker run -d --name snag -p 8000:8000 -v ./downloads:/data -v ./config:/config ghcr.io/drbiobit/snag:latest

Your downloads volume is untouched. You will need to create a new account on first login (old users.json is no longer read).

Commits since v1.0.1

79d7d7c Fix DEST_RE to match yt-dlp's actual output
dbc79cd SQLite auth + download history
e474227 Move auth files to .config/ folder + fix UI stall
b68e4b9 Docusaurus: reduce base font size
f1f3506 Docusaurus: set code font size
4500b3a Docusaurus: use Inter for body text
14caccc Docusaurus: change font to Source Code Pro
03ddc63 Update docs: Alpine references
d3b21b5 Fix Alpine: use su instead of gosu
17db6f0 Switch Docker base to Alpine 3.20
b93ced6 Fix Docker: chown mounted volumes
f2676db Add issue templates and PR template

Snag v1.0.1

Choose a tag to compare

@drbiobit drbiobit released this 03 Oct 07:28

What's new (v1.0.1)

  • Fix (Docker): auth data (users.json, secret) now persists on the /data volume. Previously DATA_DIR defaulted to ./data inside the container while DOWNLOAD_DIR defaulted to /data (the mounted volume). On every container restart the /app layer reset, wiping the user store and making the app re-prompt for account setup — which made it look like downloads weren't saving to the configured directory. Downloads were actually being written to the volume correctly; the user just couldn't reach the downloads page because they kept hitting the setup screen.

    Fixed by setting DATA_DIR=/data in the Dockerfile and docker/docker-compose.yml so auth data lives on the same mounted volume as downloads.

  • README: documented the fix and the upgrade procedure (pull latest, recreate container, volume is untouched).

Upgrade

docker pull ghcr.io/drbiobit/snag:latest
docker rm -f snag
docker run -d --name snag -p 8000:8000 -v ./downloads:/data ghcr.io/drbiobit/snag:latest

Your volume is untouched, so downloads persist. If you were hit by the old bug, your account may need to be re-created once — downloads in the volume are unaffected.

Commits since v1.0.0

1a231b1 README: document the Docker auth-data fix and upgrade procedure
cd088b2 Fix Docker: persist auth data on the /data volume

Snag v1.0.0

Choose a tag to compare

@drbiobit drbiobit released this 02 Oct 04:07

What's new (v1.0.0 update)

  • Fix: keep running downloads alive across page refresh/navigation
  • Docs: replace plain-Markdown docs with a full Docusaurus site, published on GitHub Pages
  • Docs theme: app icon, green accent, Ubuntu Mono font
  • README: rewritten — badges, hero screenshot, quickstart, comparison table, fixed broken doc links
  • CI: bump Node 20 -> 24 (Node 20 is deprecated on GitHub runners)
  • License: add MIT LICENSE
  • Community: add CONTRIBUTING, SECURITY, and Code of Conduct
  • UI screenshot assets added for README and docs hero

Full changelog since the initial v1.0.0 tag

85147ee Fix: keep running downloads alive across page refresh/navigation
8b3f83c few change in readme
cf240cf few change in readme
9a33e5a Add CONTRIBUTING, SECURITY, and Code of Conduct
be36018 Rewrite README: badges, hero screenshot, quickstart, comparison, fix broken doc links
3da6e14 Docs theme: use app icon, green accent, Ubuntu Mono font
9a7e760 Add UI screenshot assets for README and docs hero
f9ed98f Add MIT LICENSE
c2bce6c Bump CI Node version 20 -> 24 (Node 20 is deprecated on runners)
80d639a Replace plain-Markdown docs with a Docusaurus site
d0a0cab Simplify Pages workflow: publish docs/ directly, drop Jekyll
15e5591 Fix Pages workflow: use actions/jekyll-action@v4
0e5bd16 Add docs link to description and README documentation section
b3cca5b Add GitHub Pages docs site (index + pages workflow)