-
-
Notifications
You must be signed in to change notification settings - Fork 2
Development
github-actions[bot] edited this page Jun 28, 2026
·
3 revisions
| Layer | Stack |
|---|---|
| Backend | Bun, Hono, bun:sqlite
|
| Frontend | React, Vite, TypeScript |
| Storage | SQLite |
| Runtime | Docker or local Bun |
.
├── app/ # Bun + Hono backend
│ └── src/
│ ├── db.ts # SQLite schema, migrations, settings
│ ├── routes.ts # API routes
│ ├── auth.ts # Authentication (sessions, WebAuthn, OIDC, proxy)
│ ├── refresher.ts # RSS/live/background refresh work
│ └── youtube.ts # YouTube parsing and fetch helpers
├── ui/ # React + Vite frontend
│ └── src/
│ ├── pages/ # App screens
│ ├── components/ # Shared UI components
│ ├── api.ts # API client and shared types
│ └── i18n/ # Per-language UI text (en, pl, de)
├── scripts/ # setup/dev/build/start helpers
├── wiki/ # Source for the GitHub Wiki
├── data/ # Local runtime data, usually gitignored
├── Dockerfile
├── docker-compose.yml # Run with the published GHCR image
└── docker-compose.dev.yml # Build locally from source
Install everything and run both servers:
bun run setup
bun run devType and build checks for the frontend:
cd ui
bunx tsc --noEmit
bun run buildThe backend is TypeScript executed by Bun. In development it runs with:
cd app
bun run devYT Zero · Self-hosted YouTube subscriptions reader · Licensed under AGPL-3.0-only
Getting started
Using the app
Operations
Project