Skip to content

Local development

Run the FastAPI backend and the Vite dev server directly. This is the best path for editing the code.

Prerequisites

  • Python 3.11+
  • Node.js 20+ (CI verifies with Node.js 24)
  • yt-dlp
  • ffmpeg / ffprobe

Backend

cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
CVN_DB_MIGRATE_ON_STARTUP=true uvicorn app.main:app --host 127.0.0.1 --port 8000

Frontend

cd frontend
npm install
VITE_API_BASE_URL=http://127.0.0.1:8000 npm run dev -- --host 127.0.0.1 --port 5173

Open the console

http://127.0.0.1:5173/

Health check

curl http://127.0.0.1:8000/api/health

Turn on real downloads

The dev servers start with the worker off. To perform real transfers, set the worker flags and restart the backend. See Enable real downloads.

Next steps