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 (s6-overlay init system)
- 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's s6-overlay tubesync-config-init service runs as root at startup: it sets the app user's UID/GID from PUID/PGID, then chowns and chmods both /run/app (mode 0700) and /config (mode 0755) before dropping privileges to run TubeSync. See Architecture for the full rationale:
read_onlyis omitted: the init service writes to the root filesystem during startupuser:is omitted: the init service requires root for privilege management and to re-permission/configcap_add:CHOWN,FOWNER,SETUID,SETGID,SETPCAP—FOWNERis required so the init canchmodfiles after chowning them to theappuser
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.