TubeSync
TubeSync is a PVR (personal video recorder) for YouTube. It synchronizes channels and playlists to your local storage, downloading media automatically via yt-dlp so you can keep an offline library and watch it in your media player of choice.
TubeSync
In Development
This script is currently in active development and may be unstable or incomplete. Use in production environments is not recommended.
This script is currently in active development and may be unstable or incomplete. Use in production environments is not recommended.
Installation
Default install:
1
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/tubesync.sh)"
Notes
Downloaded media is stored in /opt/tubesync-downloads and app data (SQLite database, cache, cookies) in /opt/tubesync-config. Increase the container disk to fit your library.
The web interface has no authentication by default. Set HTTP_USER and HTTP_PASS in /opt/tubesync.env to enable HTTP basic auth.
SQLite is used by default. For PostgreSQL, set DATABASE_CONNECTION in /opt/tubesync.env (e.g. postgresql://user:pass@host:5432/tubesync) before first start.
MySQL/MariaDB is not bundled (the mysqlclient driver needs a native build). To use it, install the driver first: 'apt install -y build-essential default-libmysqlclient-dev pkg-config && uv pip install --python /opt/tubesync/.venv/bin/python mysqlclient', then set DATABASE_CONNECTION=mysql://user:pass@host:3306/tubesync in /opt/tubesync.env.