# Self-Hosted YouTube Automation with YTPTube (Advanced MeTube Alternative)

**URL:** <https://onehack.st/t/self-hosted-youtube-automation-with-ytptube-advanced-metube-alternative/306249>\
**Category:** Tools & Scripts\
**Tags:** programming, streaming\
**Created:** [June 9, 2025, 1:37am UTC](https://onehack.st/t/self-hosted-youtube-automation-with-ytptube-advanced-metube-alternative/306249 "2025-06-09T01:37:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SRZ](https://onehack.st/user_avatar/onehack.st/srz/32/146132_2.png) [@SRZ](https://onehack.st/u/SRZ)\
**Post date:** [June 9, 2025, 1:37am UTC](https://onehack.st/t/self-hosted-youtube-automation-with-ytptube-advanced-metube-alternative/306249/1 "2025-06-09T01:37:15Z")

</div>

### Short Introduction

YTPTube is a powerful, user-friendly, self-hosted frontend for `yt-dlp` wrapped in a Docker container. It’s a complete rewrite of MeTube with a focus on automation, flexibility, and usability for both technical and non-technical users. It offers advanced scheduling, concurrent downloads, cookies support, ARM64 builds, browser extensions, and more—making it ideal for YouTube archiving, automation, and content downloading at scale.

### Simplified One-Line Flowchart

Pull Docker ➔ Choose UI Mode ➔ Configure Presets/Proxies ➔ Schedule or Download ➔ Auto-Update & Enjoy

 ![image](https://onehack.st/uploads/default/original/3X/9/6/967b6bfd86ce8dafb2a45a999320454c5772420a.jpeg)

* * *

### Easy Step-by-Step Method

**Step 1: Clone or Deploy YTPTube**

- GitHub Repo with instructions and Docker image:  
[https://github.com/arabcoders/ytptube](https://github.com/arabcoders/ytptube)

**Step 2: Choose Between Basic and Advanced UI Modes**

- Use **Advanced Mode** for full features.
- Use **Basic Mode** for simplified access (great for sharing with family/friends):  
[https://github.com/arabcoders/ytptube?tab=readme-ov-file#basic-mode](https://github.com/arabcoders/ytptube?tab=readme-ov-file#basic-mode)

**Step 3: Use Presets, CLI Options, and Cookies**

- Supports per-link CLI flags.
- Add reusable **presets** (like `-t mp3`) for repetitive tasks.
- Supports browser-based cookie pasting to bypass YouTube restrictions.
- Handles age-restricted content flawlessly.

**Step 4: Automate Your Workflows**

- Queue playlists or channels on a schedule.
- Requeue upcoming livestreams or premieres automatically based on `live_in` metadata.  
 ![Stream Queue Sample](https://onehack.st/uploads/default/original/3X/f/0/f0958db619052a22b1ac35b5a4bea1833789e92d.png)

**Step 5: Add Browser Extensions & iOS Shortcuts**

- Works with Firefox, Chromium-based browsers, and iOS Shortcuts.
- These connect to your hosted instance for quick video grabbing.  
Preview UI: [https://files.catbox.moe/lbztzp.png](https://files.catbox.moe/lbztzp.png)

**Step 6: Audio-Only? Convert to MP3 Easily**

- Use CLI option `-t mp3` or set it as a preset.
- Makes audio downloads simple for music lovers.

**Step 7: Use on ARM64 Devices**

- As of [latest release](https://github.com/arabcoders/ytptube/releases/tag/master-20250603-cf2fb5f), ARM64 builds are available.
- `master` builds support `linux/arm64`; `dev` builds remain `amd64` only.

**Step 8: Proxy Support & Cookie Expiry Workarounds**

- Proxies like Squid can bypass blocked OVH IPs.
- Environment variable `HTTP_PROXY` works similarly to MeTube’s proxy handling.

**Step 9: Configure for Read-Only Systems (Optional)**

- Yes, YTPTube supports **rootless** operation and can run in **read-only** mode if:
  - `/config`, `/tmp`, and `/downloads` are mounted as writable volumes
  - Auto-update is disabled via ENV

* * *

### Quick Tips

- 🔁 **Rapid Fix Cycle** : Bugs are often fixed within minutes.
- 🔄 **Auto yt-dlp Updates** : Pulls latest version on every container start (can be disabled).
- 🔐 **Basic Auth Available** : Protect your instance with username/password.
- 💡 **Display Modes** : Use “List View” for a compact history layout.
- 🧠 **JSON Conversion** : Input URLs are internally converted into JSON-compatible instructions for yt-dlp.
- 🧱 **Bundled Tools** : Includes `ffmpeg`, `aria2`, `mkvtoolsnix`, `rtmpdump`, and more inside the container.
- 📦 **Simple File Browser** : Can be enabled for browsing downloaded files directly from the web UI.

* * *

### Important Notes

- 🚫 **No Raw CLI or cURL Commands** : For safety, users cannot input raw shell commands into the UI.
- 📁 **Writable Folders Required** : Minimum write access to `/config`, `/tmp`, and `/downloads` is mandatory.
- ⚠ **Not All Features in Basic Mode** : Designed to be simple; advanced options are hidden.
- 🧪 **Livestream Support** : Only tested on YouTube (not Twitch or others yet).
- 🧩 **Custom Update Paths** : Auto-updater can be disabled if using read-only containers.
- 🐌 **ARM64 Caution** : Python package install is slower; thus, dev builds don’t support ARM64 yet.
- 💬 **Roadmap Insight** : More UI improvements and performance tweaks are in development; check `dev` branch regularly.

* * *

### Useful Links

- 🔗 Main Repo: [https://github.com/arabcoders/ytptube](https://github.com/arabcoders/ytptube)
- 📄 yt-dlp Docs: [https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#impersonation](https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#impersonation)
- 🆕 Latest Release: [https://github.com/arabcoders/ytptube/releases/tag/master-20250603-cf2fb5f](https://github.com/arabcoders/ytptube/releases/tag/master-20250603-cf2fb5f)
- 🛠 Watchstate Project (by same dev): [https://github.com/arabcoders/watchstate](https://github.com/arabcoders/watchstate)
