2026-07-17 02:29:14 +02:00
2026-07-17 02:29:14 +02:00
2026-07-17 02:29:14 +02:00

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

S
Description
Songs2YT is an automation tool that converts your audio and image files into high-quality videos and uploads them directly to YouTube.
Readme MIT 63 MiB
Languages
TypeScript 97.7%
CSS 1.7%
Dockerfile 0.6%