DEV.co
Open-Source DevOps · alexta69

metube

MeTube is a self-hosted web UI wrapper around yt-dlp that lets you download videos, audio, playlists, and captions from YouTube and 100+ other sites via a browser interface. It runs in Docker and supports subscription-based auto-downloading of new uploads from channels and playlists.

Source: GitHub — github.com/alexta69/metube
14.1k
GitHub stars
1k
Forks
Python
Primary language
AGPL-3.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryalexta69/metube
Owneralexta69
Primary languagePython
LicenseAGPL-3.0 — OSI-approved
Stars14.1k
Forks1k
Open issues140
Latest release2026.07.05 (2026-07-05)
Last updated2026-07-05
Sourcehttps://github.com/alexta69/metube

What metube is

Python-based web application (likely Flask or similar) that exposes yt-dlp functionality through a REST API and web UI, with state management for download queues, subscriptions, and completed items. Supports concurrent downloads, custom output templating via yt-dlp's format strings, and configurable post-processing through yt-dlp options passed as JSON.

Quickstart

Get the metube source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/alexta69/metube.gitcd metube# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Personal media archival and library building

Self-host a private download service for preserving YouTube content, educational videos, or podcasts with full control over storage and organization.

Automated subscription monitoring

Set up subscriptions to channels and playlists with periodic checks and automatic queueing of new uploads, avoiding manual browsing and repeated downloads.

Offline media access in bandwidth-constrained environments

Centrally download and cache media once, then distribute locally via custom URLs without repeated internet bandwidth consumption per user.

Implementation considerations

  • Storage planning: Configure DOWNLOAD_DIR, AUDIO_DOWNLOAD_DIR, and TEMP_DIR with adequate capacity; consider SSD/tmpfs for TEMP_DIR to improve performance (but note RAM disks prevent resume on crash).
  • yt-dlp dependency: Stays tightly coupled to yt-dlp's maintenance cadence and site support; enable YTDL_NIGHTLY_UPDATE_TIME if stable releases lag behind site changes, or manage updates manually.
  • Network and rate-limiting: Download behavior, proxy config, and throttling are controlled via yt-dlp options JSON; no built-in request rate-limiting in MeTube itself—rely on YTDL_OPTIONS.
  • State persistence: Queue, subscriptions, and completed logs stored in STATE_DIR; ensure volume mounts are durable and backed up if subscription subscriptions are long-lived.
  • File permissions: CHOWN_DIRS, PUID, PGID, and UMASK control ownership; misalignment with host file ownership can lock out access to downloads or state files.

When to avoid it — and what to weigh

  • Need enterprise access controls or multi-tenant isolation — MeTube is designed for single self-hosted instances with no built-in RBAC, audit logging, or tenant separation. All users accessing the instance have equal privileges.
  • Require real-time streaming capabilities — MeTube is a download-and-store tool, not a live streaming or transcoding service. It does not process or re-stream media in real time.
  • Must ensure legal compliance with platform ToS globally — Downloading copyrighted content may violate YouTube ToS and local laws in many jurisdictions. Organization assumes all legal risk and responsibility.
  • Need high-volume production download infrastructure — MeTube is optimized for self-hosted personal/team use, not for scaling to hundreds of concurrent users or handling enterprise-scale download traffic.

License & commercial use

Licensed under AGPL-3.0 (GNU Affero General Public License v3.0). This is a copyleft license requiring derivative works and network-accessible modified versions to be released under AGPL-3.0 with source code available to all users.

AGPL-3.0 is a strong copyleft license. Requires careful review: if you deploy MeTube (or any modifications) as a network service accessible to others, you must make source code available under AGPL-3.0. Internal use within a closed organization may be permissible, but commercial SaaS or resale requires compliance with AGPL-3.0 obligations. Consult legal counsel before commercial deployment.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

MeTube exposes a web UI to download arbitrary media from user-specified URLs via yt-dlp. Consider: (1) network exposure—bind to localhost or behind auth proxy if not in a trusted network; (2) ALLOW_YTDL_OPTIONS_OVERRIDES enables users to inject yt-dlp options (e.g., shell commands via postprocessors)—disable unless users are fully trusted; (3) file disclosure via DOWNLOAD_DIRS_INDEXABLE may expose downloaded files to web; (4) no built-in authentication or rate-limiting; (5) yt-dlp itself executes external binaries for post-processing (ffmpeg, etc.)—ensure those are available and uncompromised. Audit what media is downloaded and by whom if multi-user.

Alternatives to consider

youtube-dl or yt-dlp directly (CLI)

No web UI overhead; full control and scripting; trade convenience and ease-of-use for technical skill; no persistent queue or subscription automation.

JDownloader 2

Desktop-based download manager with broad site support and richer UI; closed-source; not self-hosted; requires local installation.

Archivebox

Self-hosted full-page archival for web content and media; broader scope than video-only; different architecture and dependencies; overlaps on local preservation but not video-specific features.

Software development agency

Build on metube with DEV.co software developers

MeTube simplifies bulk video archival and subscription management with a clean web interface. Deploy via Docker, configure yt-dlp options, and start downloading—or contact our team to discuss integration with your DevOps workflow.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

metube FAQ

Can I run MeTube behind a reverse proxy?
Yes. Set URL_PREFIX to the base path (e.g., `/metube`), PUBLIC_HOST_URL to the external URL for download links, and ensure your proxy forwards requests correctly. Update CORS_ALLOWED_ORIGINS if needed.
What happens if yt-dlp stops supporting a site?
MeTube will no longer be able to download from that site. Enable YTDL_NIGHTLY_UPDATE_TIME or manually update yt-dlp to stay current. Monitor yt-dlp's supported sites list and release notes.
Is authentication or user isolation supported?
No. MeTube has no built-in user login, permissions, or multi-tenancy. All users accessing the web UI have equal privileges. Use network-level auth (reverse proxy) or firewall rules if needed.
Can I limit download speeds or concurrent connections?
Yes, via yt-dlp options in YTDL_OPTIONS JSON (e.g., `ratelimit`, `socket_timeout`). MeTube respects MAX_CONCURRENT_DOWNLOADS for parallel downloads but does not throttle individual streams.

Software development & web development with DEV.co

DEV.co helps companies turn open-source tools like metube into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source devops stack.

Ready to self-host your media downloads?

MeTube simplifies bulk video archival and subscription management with a clean web interface. Deploy via Docker, configure yt-dlp options, and start downloading—or contact our team to discuss integration with your DevOps workflow.