music-lab 신규 서비스 추가 (AI 음악 생성 + 라이브러리 관리)

- music-lab/ 신규 서비스 (포트 18600)
  - POST /api/music/generate     비동기 음악 생성 (task_id 반환)
  - GET  /api/music/status/:id   폴링 (queued→processing→succeeded/failed)
  - GET  /api/music/library      라이브러리 조회
  - POST /api/music/library      트랙 수동 추가
  - DELETE /api/music/library/:id 트랙 삭제 (파일 포함)
- SQLite: music_tasks + music_library 테이블
- 생성 완료 시 라이브러리 자동 등록
- AI 서버 응답: binary audio / JSON audio_url 모두 지원
- nginx: /api/music/ 프록시 + /media/music/ 오디오 파일 직접 서빙
- docker-compose: music-lab 서비스 + frontend 볼륨 마운트 추가
- CLAUDE.md 업데이트

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-21 09:32:26 +09:00
parent f1eab292a2
commit 868020f7ed
8 changed files with 723 additions and 0 deletions

View File

@@ -32,6 +32,20 @@ services:
volumes:
- ${STOCK_DATA_PATH:-./data/stock}:/app/data
music-lab:
build:
context: ./music-lab
container_name: music-lab
restart: unless-stopped
ports:
- "18600:8000"
environment:
- TZ=${TZ:-Asia/Seoul}
- MUSIC_AI_SERVER_URL=${MUSIC_AI_SERVER_URL:-}
- MUSIC_MEDIA_BASE=${MUSIC_MEDIA_BASE:-/media/music}
volumes:
- ${MUSIC_DATA_PATH:-./data/music}:/app/data
travel-proxy:
build: ./travel-proxy
container_name: travel-proxy
@@ -61,6 +75,7 @@ services:
- ${RUNTIME_PATH}/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
- ${PHOTO_PATH}:/data/travel:ro
- ${RUNTIME_PATH}/travel-thumbs:/data/thumbs:ro
- ${MUSIC_DATA_PATH:-./data/music}:/data/music:ro
extra_hosts:
- "host.docker.internal:host-gateway"