MeTube — Self-hosted YouTube downloader with a sleek web interface

📆 · ⏳ 3 min read · ·

Introduction

Continuing our series on self-hosted applications, today we’ll explore MeTube, a powerful self-hosted YouTube downloader. If you’ve ever wanted to archive your favorite YouTube videos or download content for offline viewing, MeTube provides an elegant solution with its user-friendly web interface.

While there are many YouTube downloaders available online, most come with limitations, ads, or potential security risks. MeTube solves these issues by giving you complete control over your downloads while providing a clean, ad-free experience.

What is MeTube?

MeTube ↗️ is a web frontend for youtube-dl/yt-dlp ↗️, popular command-line tools for downloading videos from YouTube and other platforms. It wraps these powerful tools in a beautiful web interface, making it accessible to users who might not be comfortable with command-line operations.

Key features include:

  • Support for multiple video quality options
  • Audio-only download capability
  • Batch download support
  • Download queue management
  • Support for 1000+ websites ↗️ beyond YouTube
  • Progress tracking for downloads
  • Mobile-friendly interface

Setup MeTube with Docker

Setting up MeTube is straightforward using Docker. Create a new directory for MeTube and create a docker-compose.yml file with the following content:

services:
metube:
image: alexta69/metube:latest
container_name: metube
ports:
- '8081:8081'
volumes:
- ./downloads:/downloads
- ./audio-downloads:/audio-downloads # Optional, if you want to separate audio downloads
environment:
- UID=1000
- GID=1000
- TZ=Asia/Kolkata
- AUDIO_DOWNLOAD_DIR=/audio-downloads # Optional, if you want to separate audio downloads
restart: unless-stopped

More options can be found in the MeTube GitHub repository ↗️, however the defaults should work fine for most users.

Ensure that the UID and GID match the user and group IDs of the user you want to run the container as. Find the user and group IDs by running id <username>.

Finally, ensure that the AUDIO_DOWNLOAD_DIR directory exists and is writable by the user the container runs as if you want to separate audio downloads.

With that, we can start the container using docker compose up -d. The web interface will be available at http://<your-server-ip>:8081. (Note: The port can be changed by modifying the ports section in the docker-compose.yml file.)

MeTube web interface
MeTube web interface
PROMOTED Built & launched by me

Death is hard enough. Accessing accounts shouldn't be.

Eternal Vault Logo

When someone dies, you don't get even one extra second to access the documents and information they meant to share it with you. Trying to fix this problem with Eternal Vault.

Protect your family now

Using MeTube

Using MeTube is incredibly simple:

  1. Open the web interface in your browser
  2. Paste a video URL in the input field
  3. Select your preferred format and quality
  4. Click download

You can also install few third party browser extensions (Google Chrome ↗️ / Firefox ↗️) to make it easier to download videos.

💡
Friendly Disclaimer

Since using MeTube essentially means you are downloading videos from YouTube (or other supported platforms), you should be aware of YouTube’s terms of service ↗️ and make sure you are in compliance with them. I am not responsible for any copyright violations.

Conclusion

MeTube is an excellent addition to any self-hosted setup, providing a reliable and user-friendly way to download videos from YouTube and other platforms. Its clean interface and powerful features make it a superior alternative to online video downloaders.

Have you tried MeTube or similar self-hosted video downloaders? I’d love to hear about your experience in the comments below. Feel free to reach out to me on Twitter ↗️ / Reddit ↗️ if you have any questions or in the comments below.

Happy downloading!

You may also like

  • # selfhosted

    Beszel — Lightweight self-hosted server monitoring for your homelab

    Beszel is a lightweight server monitoring solution with Docker stats, historical data, and alerts. Built with a single Go binary and minimal resource footprint, it's perfect for monitoring your homelab infrastructure efficiently.

  • # selfhosted

    Redlib — Self-hosted Reddit browsing without the bloat

    Redlib is a blazing-fast, privacy-first alternative frontend for Reddit built in Rust. Born from the ashes of Libreddit's rate limiting issues, it provides a clean, ad-free Reddit browsing experience while keeping your data private and secure.

  • # selfhosted

    Rybbit — Privacy-focused open-source analytics that actually makes sense

    Rybbit is a modern, privacy-first analytics platform that serves as a compelling alternative to Google Analytics. With features like session replay, real-time dashboards, and zero-cookie tracking, it's perfect for privacy-conscious developers who want comprehensive analytics without compromising user privacy.