TubeSync¶
TubeSync is a YouTube channel and playlist synchronization tool that automatically downloads new videos from subscribed channels.
Why¶
If you follow specific YouTube channels and want their content available in your Plex library for offline viewing on any device, TubeSync automates the entire workflow. Subscribe to channels, and new videos are downloaded automatically and organized in a Plex-compatible folder structure. Unlike MeTube (which handles individual on-demand downloads), TubeSync runs continuously and keeps your library in sync with YouTube.
Compose File¶
Access¶
| URL | Description |
|---|---|
https://tubesync.${DOMAINNAME} |
Web UI (Traefik forward-auth) |
Architecture¶
- Image: meeb/tubesync (custom init script + supervisord)
- User/Group:
PUID=3118/PGID=3200(svc-app-tubesync:media) - Networks:
tubesync-frontend(Traefik-facing) - Reverse proxy: Traefik with
chain-auth@filemiddleware - Downloads:
/mnt/archive-pool/content/media/youtube/tubesync
Root-Start Exceptions¶
TubeSync uses its own start.sh init script (similar to s6-overlay) that creates the PUID:PGID user, chowns /config, and launches supervisord. See Architecture for the full rationale:
read_onlyis omitted: init script writes to the root filesystem during startupuser:is omitted: init script requires root for privilege managementcap_add:CHOWN,SETUID,SETGID,SETPCAP
Secrets¶
Managed via secret.sops.env (SOPS-encrypted, decrypted to .env at deploy time):
DOMAINNAME— base domain for Traefik routing
First-Run Setup¶
- Create the dataset
vm-pool/apps/services/tubesyncin TrueNAS - Create a
svc-app-tubesyncgroup (GID 3118) and user (UID 3118, primary groupmediaGID 3200) on the TrueNAS host - Deploy and add YouTube channels/playlists in the web UI
Upgrade Notes¶
No special upgrade procedures. Image updates are managed by Renovate.