https://github.com/TheWicklowWolf/ChannelTube
Download Video or Audio from YouTube channels on a schedule via yt-dlp.
https://github.com/TheWicklowWolf/ChannelTube
Last synced: 2 months ago
JSON representation
Download Video or Audio from YouTube channels on a schedule via yt-dlp.
- Host: GitHub
- URL: https://github.com/TheWicklowWolf/ChannelTube
- Owner: TheWicklowWolf
- License: gpl-3.0
- Created: 2023-10-19T17:33:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-29T21:23:12.000Z (8 months ago)
- Last Synced: 2024-10-29T23:44:19.273Z (8 months ago)
- Language: Python
- Homepage:
- Size: 339 KB
- Stars: 121
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- trackawesomelist - ChannelTube (⭐157) - Download video or audio from YouTube channels on a schedule via yt-dlp. `AGPL-3.0` `Docker` (Recently Updated / [Jan 30, 2025](/content/2025/01/30/README.md))
README


ChannelTube is a tool for synchronizing and fetching content from YouTube channels using yt-dlp.
## Run using docker-compose
```yaml
services:
channeltube:
image: thewicklowwolf/channeltube:latest
container_name: channeltube
volumes:
- /path/to/config:/channeltube/config
- /data/media/channeltube:/channeltube/downloads
- /etc/localtime:/etc/localtime:ro
ports:
- 5000:5000
restart: unless-stopped
```## Configuration via environment variables
Certain values can be set via environment variables:
* __video_format_id__: Specifies the ID for the video format. The default value is `137`.
* __audio_format_id__: Specifies the ID for the audio format. The default value is `140`.
* __defer_hours__: Defines the time to defer in hours. The default value is `0`.
* __thread_limit__: Sets the maximum number of threads to use. The default value is `1`.> For information on format IDs, refer to [https://github.com/yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp)
>
> ## Sync Schedule
Use a comma-separated list of hours to search for new videos (e.g. `2, 20` will initiate a video search at 2 AM and 8 PM).
> Note: There is a deadband of up to 10 minutes from the scheduled start time.## Media Server Integration (optional)
A media server library scan can be triggered when new content is retrieved.
For Plex, use: `Plex: http://192.168.1.2:32400`
For Jellyfin, use: `Jellyfin: http://192.168.1.2:8096`
To use both, enter: `Plex: http://192.168.1.2:32400, Jellyfin: http://192.168.1.2:8096`
The same format applies for the tokens.The **Media Server Library Name** refers to the name of the library where the videos are stored.
To disable this feature:
- Leave **Media Server Addresses**, **Media Server Tokens** and **Media Server Library Name** blank.## Cookies (optional)
To utilize a cookies file with yt-dlp, follow these steps:* Generate Cookies File: Open your web browser and use a suitable extension (e.g. cookies.txt for Firefox) to extract cookies for a user on YT.
* Save Cookies File: Save the obtained cookies into a file named `cookies.txt` and put it into the config folder.
---

---

---
https://hub.docker.com/r/thewicklowwolf/channeltube