-
-
Notifications
You must be signed in to change notification settings - Fork 2
Installation
Run YouTube Zero with Docker (recommended) or locally with Bun.
- Docker
- Docker Compose
- Bun 1.3 or newer
Use the published GHCR image:
services:
ytzero:
image: ghcr.io/pelski/ytzero:latest
container_name: ytzero
ports:
- "3001:3001"
volumes:
- ./data:/data
environment:
- IDLE_TIMEOUT_SECONDS=120
- REFRESH_INTERVAL_MINUTES=5
- DB_PATH=/data/db/ytzero.db
- IMG_CACHE_DIR=/data/imgcache
restart: unless-stoppedStart it:
docker compose up -dOr build locally from the repository:
docker compose -f docker-compose.dev.yml up --build -dOpen http://localhost:3001. Data is stored under ./data.
See Configuration for all environment variables.
Install dependencies:
bun run setupStart backend and frontend:
bun run devDevelopment URLs:
UI: http://localhost:5173
API: http://localhost:3001
bun run startThis builds ui/dist if needed and starts the backend serving the built frontend at http://localhost:3001.
| Command | Description |
|---|---|
bun run setup |
Install backend and frontend dependencies. |
bun run dev |
Start backend watcher and Vite dev server. |
bun run dev:app |
Start only the backend watcher. |
bun run dev:ui |
Start only the Vite dev server. |
bun run build |
Build the frontend. |
bun run start |
Serve the production frontend through the backend. |
After the first start you get a local YouTube subscriptions app at http://localhost:3001.
The initial app is intentionally empty: no Google login, no imported account data, and no recommendations. From Settings → Channels you add channels manually or import an OPML / Google Takeout subscriptions file (see Importing Subscriptions). Once channels are added, YouTube Zero starts filling a local SQLite database with their public RSS videos and background metadata.
YT Zero · Self-hosted YouTube subscriptions reader · Licensed under AGPL-3.0-only
Getting started
Using the app
Operations
Project