Files
mcma-compose/.env.example
T
Senko-san 0526ede4c1 chore: wire ACOUSTID_API_KEY + bump backend (enrichment §1D)
- .env.example: document ACOUSTID_API_KEY (blank = embedded-tag enrichment
  only; set to enable AcoustID fingerprint identification)
- bump mcma-backend to the tag-first metadata enrichment pipeline

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 13:11:20 +03:00

54 lines
2.3 KiB
Bash

# ======================================================================
# mycoolmusicapp — combined env for docker compose (dev).
# Copy to .env: cp .env.example .env (or: make env)
# Compose injects this into api, worker and webui. Never commit real .env.
# Per-repo .env.example files still exist for running a service standalone.
# ======================================================================
# ---- Ports -----------------------------------------------------------
NGINX_PORT=8881 # main entrypoint (browser)
API_PORT=8000 # direct backend access (debug / docs)
WEBUI_PORT=3000 # rsbuild dev server (internal; proxied through nginx)
POSTGRES_PORT=5432
REDIS_PORT=6379
# ---- Postgres (db service) -------------------------------------------
POSTGRES_USER=mcma
POSTGRES_PASSWORD=mcma
POSTGRES_DB=mcma
# ---- Backend (api + worker) ------------------------------------------
ENVIRONMENT=dev # dev | test | prod
LOG_LEVEL=INFO
LOG_JSON=false # true in prod
# DATABASE_URL / REDIS_URL are overridden in compose to point at the db/redis
# services. These localhost values are the fallback for host-run processes.
DATABASE_URL=postgresql+asyncpg://mcma:mcma@localhost:5432/mcma
DB_ECHO=false
REDIS_URL=redis://localhost:6379/0
# auth — GENERATE a strong secret for prod: `openssl rand -hex 32`
JWT_SECRET=change-me-in-prod
ACCESS_TOKEN_TTL_SECONDS=900
REFRESH_TOKEN_TTL_SECONDS=2592000
# media / storage (paths inside the container)
MEDIA_PATH=/data/media
TRANSCODE_CACHE_PATH=/data/transcode-cache
MAX_PARALLEL_DOWNLOADS=2
# external services (all optional — backend degrades gracefully if unset)
# ML_SERVICE_URL=http://ml:9000
# Metadata enrichment (§1D): without a key, only embedded-tag enrichment runs;
# set it to enable AcoustID fingerprint → MusicBrainz identification.
# Get a free key at https://acoustid.org/new-application
ACOUSTID_API_KEY=
# Sent to MusicBrainz/AcoustID — put a real contact so you don't get rate-limited.
MUSICBRAINZ_USER_AGENT=mcma-backend/0.1.0 ( https://github.com/your/repo )
# YOUTUBE_COOKIES_PATH=/data/cookies.txt
# ---- Frontend (webui) ------------------------------------------------
# Served same-origin behind nginx, so the default '/api/v1' just works.
PUBLIC_API_BASE_URL=/api/v1