Initial commit: YouTube Sync Docker container
- Alpine-based Docker image with yt-dlp - Configurable channel sync script - Unraid template for Community Applications - Automatic scheduling via cron - Emby/Plex/Jellyfin compatible output structure
This commit is contained in:
49
youtube-sync.xml
Normal file
49
youtube-sync.xml
Normal file
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0"?>
|
||||
<Container version="2">
|
||||
<Name>youtube-sync</Name>
|
||||
<Repository>azcomputerguru/youtube-sync</Repository>
|
||||
<Registry>https://hub.docker.com/r/azcomputerguru/youtube-sync</Registry>
|
||||
<Network>bridge</Network>
|
||||
<MyIP/>
|
||||
<Shell>bash</Shell>
|
||||
<Privileged>false</Privileged>
|
||||
<Support>https://github.com/azcomputerguru/youtube-sync-docker</Support>
|
||||
<Project>https://github.com/azcomputerguru/youtube-sync-docker</Project>
|
||||
<Overview>
|
||||
Automatically download and organize YouTube channel videos for Emby/Plex/Jellyfin.
|
||||
|
||||
Features:
|
||||
- Downloads videos in best quality up to 1080p (configurable)
|
||||
- Organizes by season folders (by year)
|
||||
- Creates proper episode naming for media servers
|
||||
- Embeds thumbnails and metadata
|
||||
- Creates tvshow.nfo files for Emby/Plex
|
||||
- Tracks downloaded videos to avoid duplicates
|
||||
- Supports YouTube cookies for authentication
|
||||
- Scheduled automatic syncs via cron
|
||||
|
||||
Configuration:
|
||||
1. Edit /mnt/user/appdata/youtube-sync/channels.txt
|
||||
2. Add your channels in format: CHANNEL_ID|Channel Name
|
||||
3. (Optional) Add YouTube cookies to /mnt/user/appdata/youtube-sync/cookies.txt
|
||||
</Overview>
|
||||
<Category>MediaApp:Video MediaServer:Video</Category>
|
||||
<WebUI/>
|
||||
<TemplateURL>https://raw.githubusercontent.com/azcomputerguru/youtube-sync-docker/main/youtube-sync.xml</TemplateURL>
|
||||
<Icon>https://raw.githubusercontent.com/azcomputerguru/youtube-sync-docker/main/icon.png</Icon>
|
||||
<ExtraParams/>
|
||||
<PostArgs/>
|
||||
<CPUset/>
|
||||
<DateInstalled/>
|
||||
<DonateText/>
|
||||
<DonateLink/>
|
||||
<Requires/>
|
||||
<Config Name="Download Directory" Target="/downloads" Default="/mnt/user/media/YouTube" Mode="rw" Description="Where downloaded videos will be stored" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/media/YouTube</Config>
|
||||
<Config Name="Config Directory" Target="/config" Default="/mnt/user/appdata/youtube-sync" Mode="rw" Description="Configuration files (channels.txt, cookies.txt)" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/youtube-sync</Config>
|
||||
<Config Name="Sync Schedule" Target="SYNC_SCHEDULE" Default="0 2 * * *" Mode="" Description="Cron schedule for automatic syncs (default: 2 AM daily). Use 'manual' to disable scheduling." Type="Variable" Display="always" Required="false" Mask="false">0 2 * * *</Config>
|
||||
<Config Name="Max Quality" Target="MAX_QUALITY" Default="1080" Mode="" Description="Maximum video quality (480, 720, 1080, 1440, 2160)" Type="Variable" Display="always" Required="false" Mask="false">1080</Config>
|
||||
<Config Name="Sleep Interval" Target="SLEEP_INTERVAL" Default="2" Mode="" Description="Seconds to wait between downloads (helps avoid rate limiting)" Type="Variable" Display="advanced" Required="false" Mask="false">2</Config>
|
||||
<Config Name="Timezone" Target="TZ" Default="America/Phoenix" Mode="" Description="Timezone for scheduling (TZ database name)" Type="Variable" Display="advanced" Required="false" Mask="false">America/Phoenix</Config>
|
||||
<Config Name="PUID" Target="PUID" Default="99" Mode="" Description="User ID for file ownership" Type="Variable" Display="advanced" Required="false" Mask="false">99</Config>
|
||||
<Config Name="PGID" Target="PGID" Default="100" Mode="" Description="Group ID for file ownership" Type="Variable" Display="advanced" Required="false" Mask="false">100</Config>
|
||||
</Container>
|
||||
Reference in New Issue
Block a user