DATABASE_URL="postgresql://s2yt:s2yt@localhost:5432/s2yt" REDIS_URL="redis://localhost:6379" NEXTAUTH_URL="http://localhost:3000" # Generate with: openssl rand -base64 32 NEXTAUTH_SECRET="replace-with-a-long-random-secret" # Used to encrypt YouTube OAuth tokens at rest (falls back to NEXTAUTH_SECRET if unset) # TOKEN_ENCRYPTION_KEY="replace-with-another-long-random-secret" # Server-side Google OAuth 2.0 credentials from Google Cloud Console GOOGLE_CLIENT_ID="your-google-client-id.apps.googleusercontent.com" GOOGLE_CLIENT_SECRET="your-google-client-secret" UPLOAD_DIR="./uploads" # Open-source / self-hosted: unlimited video quota, API, and Pro features S2YT_EDITION="selfhosted" # Admin API key for approving/rejecting quota extension requests (Bearer token) # ADMIN_API_KEY="your-secret-admin-key" # Pro users generate API keys in Dashboard → Settings (stored hashed; shown once) # Optional: override bundled ffmpeg-static binary (leave unset to use npm package) # FFMPEG_PATH="C:/path/to/ffmpeg.exe" # Public Gitea issues URL for community support links NEXT_PUBLIC_GITEA_ISSUES_URL="https://git.atakanozban.com/Songs2YT/issues" NEXT_PUBLIC_GITEA_URL="https://git.atakanozban.com/Songs2YT" NEXT_PUBLIC_DOCKER_HUB_URL="https://hub.docker.com/r/atakanozban/songs2yt"