Sign inSign up

giiibates/fetchly

By giiibates

Updated 13 days ago

Self-hosted media downloader for YouTube, TikTok, Instagram & Facebook.

Image
Integration & delivery
0

2.1K

giiibates/fetchly repository overview

fetchly

Self-hosted media downloader for YouTube, TikTok, Instagram & Facebook.
Paste a link, preview it, pick a format — with a live job dashboard, waveform audio trimming, BPM analysis, and Lalal.ai stem separation.

GitHub Release Docker Pulls Docker Image Size
License Platform


fetchly dashboard: link input, video preview, format picker, and recent downloads
Dashboard — paste a link, preview the media, pick a format, and track every job live.

More screenshots

fetchly login screen
Authenticated login with invisible, server-verified anti-bot protection.

fetchly settings: Lalal.ai integration and per-platform cookie tiles
Integrations — connect Lalal.ai for stem separation and paste browser cookies for sign-in-only downloads.

fetchly settings: host resources, component versions, update check, and changelog
System — host resources, component versions, one-click update checks, and the in-app changelog.


Download, shape, share

fetchly turns yt-dlp into a self-hosted media workspace. Pick formats in a web UI, follow every job live, trim audio visually, find its tempo, create stems, and share finished downloads without handing your media to another service.

Features

FeatureWhat you get
Download everywhereSave video or audio from YouTube, TikTok, Instagram, and Facebook in one place.
Stay in controlFollow every queued, active, completed, or failed job from a live dashboard.
Choose your qualityPick the format and quality you want, then let fetchly handle the conversion.
Brand every videoBurn the fetchly logo — or your own uploaded SVG or PNG — and your hostname, once set, into the corner of every downloaded video, or switch it off.
Trim with precisionCut audio visually with an interactive waveform before you download or process it further.
Find the tempoAnalyze BPM and beat confidence, then use the result to guide audio trimming.
Create clean stemsConnect Lalal.ai to separate vocals and instrumentals when you need production-ready tracks.
Share what you madeSend friends and family a share link to a finished download — no account needed on their side, with an optional limit on how many times it can be used.
Keep it privateRun everything yourself with persistent storage, authentication, CSRF protection, anti-bot checks, and login rate limiting.
Ready to runGet the complete application and its required dependencies in one Docker image.

Supported platforms

PlatformVideoAudio
YouTubeYouTube
TikTokTikTok
InstagramInstagram
FacebookFacebook

Note: Public URLs work without account cookies. Age- or login-gated content may work after importing a current signed-in session under Settings → Integrations; platforms can still reject stale or revoked sessions.

Quickstart

Docker is the recommended way to run fetchly. The image (Docker Hub) bundles ffmpeg, yt-dlp, yt-dlp-ejs, and deno — nothing else to install.

Docker Compose
# compose.yaml
services:
  fetchly:
    image: giiibates/fetchly:latest
    container_name: fetchly
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      FETCHLY_SECRET_KEY: ${FETCHLY_SECRET_KEY:?generate with: openssl rand -base64 32}
    volumes:
      - ./data:/app/data
export FETCHLY_SECRET_KEY="$(openssl rand -base64 32)"
docker compose up -d

A fuller compose file with logging, timezone, and reverse-proxy notes lives in the repository's Docker Compose file.

Open http://127.0.0.1:8000, then create an admin account in Settings → Security before exposing fetchly beyond your local machine.

Learn more

The fetchly documentation covers installation, configuration, reverse proxies, security, platform cookies, the API, and troubleshooting.


Buy Me A Coffee

Tag summary

Content type

Image

Digest

sha256:83446274e

Size

384.6 MB

Last updated

13 days ago

docker pull giiibates/fetchly