1.0 KiB
1.0 KiB
Songs2YT
Self-hosted tool that turns a cover image + audio files into YouTube videos and uploads them to your channel.
This is the open-source edition: no video quotas, no API rate limits, playlists and REST API unlocked (S2YT_EDITION=selfhosted).
Hosted product: songs2yt.com
Requirements
- Docker (recommended), or Node 20+, Postgres, Redis, FFmpeg
- Google Cloud OAuth client with YouTube Data API v3 enabled
Quick start (Docker)
cp .env.example .env
# set GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, NEXTAUTH_SECRET, NEXTAUTH_URL
docker compose up -d --build
Open http://localhost:3000
OAuth redirect: {NEXTAUTH_URL}/api/auth/callback/google
Local development
cp .env.example .env
docker compose -f docker-compose.dev.yml up -d # Postgres + Redis
npm install
npm run db:push
npm run dev # terminal 1
npm run worker # terminal 2
Stack
Next.js · Postgres · Redis/BullMQ · NextAuth (Google) · FFmpeg · YouTube Data API
License
MIT