whatisgithub

What is yt-channel-mirror?

fullstacksjs/yt-channel-mirror — explained in plain English

Analysis updated 2026-06-24

17TypeScriptAudience · ops devopsComplexity · 3/5Setup · moderate

In one sentence

A command-line tool that downloads a YouTube channel's videos to a local folder and serves them through a Docker web server so anyone on the same network can watch offline in a regular browser.

Mindmap

mindmap
  root((yt-channel-mirror))
    Download step
      yt-dlp downloader
      Incremental updates
      Channel URL input
    Serve step
      Docker container
      Local network access
      Browser playback
    Tools required
      Deno runtime
      yt-dlp
      ffmpeg
      Docker
    Use cases
      Internet restrictions
      Offline environments
      Local video library
    Design goal
      Intentional simplicity
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Create an offline browsable copy of a YouTube channel for communities with limited or restricted internet access

USE CASE 2

Run the download command on a schedule so the local archive stays current without re-downloading existing videos

USE CASE 3

Set up a local video server with one Docker command so anyone on the network can watch without installing anything

What is it built with?

TypeScriptDenoyt-dlpffmpegDocker

How does it compare?

fullstacksjs/yt-channel-mirroraaglexx/mcp-mananthony80188/medical-rag-chatbot
Stars171717
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasyhard
Complexity3/52/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Deno, yt-dlp, ffmpeg, and Docker installed before running, transfer the downloaded library folder manually to the serving machine.

No license information was provided in the explanation.

So what is it?

yt-channel-mirror is a tool for creating an offline copy of a YouTube channel that anyone on a local network can browse and watch in a regular web browser. The core idea is simple: you run a command-line program on a machine that has internet access to download the channel's videos, then copy the resulting folder to a machine that has no internet access, where a small web server makes those videos available to users. The download step uses three tools that need to be installed beforehand: Deno (a JavaScript runtime), yt-dlp (a widely used YouTube downloader), and ffmpeg (a video processing tool). You point the command at a YouTube channel URL and optionally set a limit on how many videos to download. If you run the command again later, it only fetches new uploads, so keeping the library current does not mean re-downloading everything from scratch. Once the videos are downloaded into a folder called "library", you copy that folder to the offline server using a standard file transfer command. The server itself runs inside Docker, a container system, so starting it is a single command. After that, anyone who can reach the server on the local network can open a browser and watch the videos. The project README specifically mentions users in Iran as a use case, noting that an example archive is available for download for people who cannot access YouTube directly. This gives a sense of the intended audience: communities or individuals who face internet restrictions or unreliable connectivity and want to maintain access to educational or community video content. The codebase is intentionally kept simple. The maintainers note in the README that they actively want to avoid a complicated technology stack, and contributions that simplify things further are welcome. Development uses Deno built-in formatting and linting tools.

Copy-paste prompts

Prompt 1
I want to use yt-channel-mirror to download a YouTube channel for offline viewing. Walk me through installing Deno, yt-dlp, and ffmpeg on Ubuntu and running the first download command.
Prompt 2
I ran yt-channel-mirror and the download finished. Now walk me through copying the library folder to a Raspberry Pi and starting the Docker server so my home network can access it.
Prompt 3
I want to set up a cron job that runs the yt-channel-mirror download command every night at 2am to keep the archive current. Write the crontab entry and the command I need.
Prompt 4
The yt-channel-mirror README mentions an example archive for users who cannot access YouTube. How do I download it and point the Docker server at it instead of running my own download?
Prompt 5
I want to add a simple search bar to the yt-channel-mirror web UI so users can filter videos by title. How would I modify the frontend given the project's goal of keeping the stack simple?

Frequently asked questions

What is yt-channel-mirror?

A command-line tool that downloads a YouTube channel's videos to a local folder and serves them through a Docker web server so anyone on the same network can watch offline in a regular browser.

What language is yt-channel-mirror written in?

Mainly TypeScript. The stack also includes TypeScript, Deno, yt-dlp.

What license does yt-channel-mirror use?

No license information was provided in the explanation.

How hard is yt-channel-mirror to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is yt-channel-mirror for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.