Loading...
Loading...
Run Your Own Infrastructure
Take full control of your downloads by hosting the TunePort yt-dlp service on your own machine or VPS.
No reliance on public instances. All traffic stays between you and YouTube. You control the logs and data retention.
Dedicated resources mean faster processing and downloads. No rate limits from shared public APIs.
To enable downloads, you need a backend service. While we provide a public instance, self-hosting ensures better performance and privacy.
Clone the repository and navigate to the service directory:
git clone https://github.com/Microck/tuneport.git
cd tuneport/yt-dlp-serviceEdit the docker-compose.yml file to set your secure token. You will need this token later in the extension settings.
version: '3.8'
services:
yt-dlp:
build: .
ports:
- "3001:5000"
volumes:
- ./data:/data
- ./config:/config
environment:
- YTDLP_TOKEN=change-me-to-a-secure-random-tokenStart the container in detached mode:
docker-compose up -d --buildVerify it's running:
curl http://localhost:3001/health
# Output: {"status": "ok"}http://localhost:3001 or your HTTPS domain).YTDLP_TOKEN you configured in step 3.If you encounter "Sign in to confirm you're not a bot" errors, you need to provide cookies.
cookies.txt file (using an extension like "Get cookies.txt LOCALLY").yt-dlp-service/config/cookies.txt on your server.docker-compose restart.The Relay Bridge allows the Chrome extension to communicate with your local Spotify desktop client via Spicetify. This enables "Local Files" syncing.
Spicetify is a CLI tool that patches the Spotify desktop client. Install it first:
# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/spicetify/cli/main/install.ps1 | iex
# macOS/Linux (Bash)
curl -fsSL https://raw.githubusercontent.com/spicetify/cli/main/install.sh | shRun spicetify backup apply after installation to patch Spotify.
Two options:
Open Spicetify Marketplace in Spotify and search for "TunePort Bridge".
# Copy tuneport.js to extensions
spicetify config extensions tuneport.js
spicetify applyThe relay server bridges the Chrome extension and Spotify. We host a public instance at wss://relay.micr.dev, or self-host:
cd tuneport/relay-server
npm install
npm startThe server listens on port 8080 by default. Set PORT env var to change it.
# Verify it's running
curl http://localhost:8080/health
# Output: {"status": "ok"}Downloads/TunePort as a source folder (or wherever TunePort saves files).When you download a track via TunePort:
Downloads/TunePort on your machine.RELAY_BASE in tuneport.js to your server URL.curl http://localhost:8080/status/YOUR_TOKEN shows connected clients.