- ShazamClient: POST /api/recognize (multipart file) → uuid, затем поллинг
POST /api/results/{uuid} до status="completed" (12×1.2с ≈ до 15с)
- из ответа берём track.title (песня) и track.subtitle (исполнитель); обложки
в API нет — подтягиваем из нашей БД по normKey (resolveCover в сервисе)
- авторизация Authorization: Bearer; база https://shazam-api.com/api по умолч.
- SHAZAM_API_KEY проброшен в docker-compose + .env.example (значение — на сервере)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
# Database
|
|
DATABASE_URL=postgresql://radiola:radiola_pass@localhost:5432/radiola?schema=public
|
|
|
|
# Redis
|
|
REDIS_URL=redis://localhost:6379
|
|
|
|
# JWT
|
|
JWT_SECRET=your-super-secret-jwt-key-change-in-production
|
|
JWT_EXPIRES_IN=7d
|
|
|
|
# SMTP (for magic links)
|
|
SMTP_HOST=smtp.example.com
|
|
SMTP_PORT=587
|
|
SMTP_USER=noreply@example.com
|
|
SMTP_PASS=your-smtp-password
|
|
MAIL_FROM=radiOLA <noreply@example.com>
|
|
|
|
# App
|
|
FRONTEND_URL=https://radiola.app
|
|
PORT=3000
|
|
|
|
# Обогащение треков (Discogs): личный токен из discogs.com → Settings → Developers
|
|
DISCOGS_TOKEN=
|
|
# Распознавание треков (shazam-api.com): ключ из ЛК (Authorization: Bearer)
|
|
SHAZAM_API_KEY=
|
|
# База API Shazam (необязательно, по умолчанию https://shazam-api.com/api)
|
|
# SHAZAM_API_URL=https://shazam-api.com/api
|
|
# Базовый публичный URL бэкенда — для абсолютных ссылок на обложки (/covers/*.webp)
|
|
PUBLIC_BASE_URL=http://121.127.37.212:3000
|
|
# Каталог для сохранённых обложек (в docker — volume /data/covers)
|
|
COVERS_DIR=/data/covers
|
|
|
|
# Postgres (for docker-compose)
|
|
POSTGRES_USER=radiola
|
|
POSTGRES_PASSWORD=radiola_pass
|
|
POSTGRES_DB=radiola
|