From 6e587613d6042d0eb020e17b6003a82d1e68434c Mon Sep 17 00:00:00 2001 From: Songs2YT Date: Fri, 17 Jul 2026 02:29:14 +0200 Subject: [PATCH] Add README and MIT license --- LICENSE | 21 +++++++++++++++++++++ README.md | 33 ++++++++++++++++++++++++++------- 2 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6d928b9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Songs2YT + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 7f5f1a8..6c91998 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,42 @@ # Songs2YT -Open-source, self-hosted Songs2YT. Set `S2YT_EDITION=selfhosted` for unlimited quotas (default). +Self-hosted tool that turns a cover image + audio files into YouTube videos and uploads them to your channel. -## Docker +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](https://songs2yt.com) + +## Requirements + +- Docker (recommended), or Node 20+, Postgres, Redis, FFmpeg +- Google Cloud OAuth client with YouTube Data API v3 enabled + +## Quick start (Docker) ```bash cp .env.example .env +# set GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, NEXTAUTH_SECRET, NEXTAUTH_URL docker compose up -d --build ``` -## Development +Open http://localhost:3000 +OAuth redirect: `{NEXTAUTH_URL}/api/auth/callback/google` + +## Local development ```bash cp .env.example .env -docker compose -f docker-compose.dev.yml up -d +docker compose -f docker-compose.dev.yml up -d # Postgres + Redis npm install npm run db:push -npm run dev -npm run worker +npm run dev # terminal 1 +npm run worker # terminal 2 ``` -https://git.atakanozban.com/Songs2YT/songs2yt +## Stack + +Next.js · Postgres · Redis/BullMQ · NextAuth (Google) · FFmpeg · YouTube Data API + +## License + +MIT