Remove Stripe/billing/pricing/marketing, simplify schema and entitlements for unlimited self-host use, and keep auth, encode, and YouTube upload. Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
# Songs2VID OSS
|
|
|
|
Payment-free, self-hosted software for creating videos from cover art and audio, then uploading them
|
|
to YouTube. All features are available in every deployment; there are no plans, credits, purchases,
|
|
subscriptions, or Stripe integration.
|
|
|
|
## Quick start with Docker
|
|
|
|
1. Copy `.env.example` to `.env` and set `NEXTAUTH_SECRET`, `GOOGLE_CLIENT_ID`, and
|
|
`GOOGLE_CLIENT_SECRET`.
|
|
2. In Google Cloud Console, enable YouTube Data API v3 and add
|
|
`http://localhost:3000/api/auth/callback/google` as an OAuth redirect URI.
|
|
3. Start the stack:
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
Open http://localhost:3000.
|
|
|
|
## Local development
|
|
|
|
```bash
|
|
docker compose -f docker-compose.dev.yml up -d
|
|
npm install
|
|
npm run db:migrate
|
|
npm run dev:all
|
|
```
|
|
|
|
The web app runs on http://localhost:3000. `dev:all` starts both the Next.js app and BullMQ worker.
|
|
|
|
## Stack
|
|
|
|
- Next.js 15, TypeScript, Tailwind
|
|
- PostgreSQL and Prisma
|
|
- Redis and BullMQ
|
|
- NextAuth with Google OAuth
|
|
- FFmpeg
|
|
- YouTube Data API v3
|
|
|
|
Documentation, including the REST API reference, is at
|
|
[docs.songs2vid.com](https://docs.songs2vid.com).
|