Files
drama-studio/docker-compose.dev.yml
jungwoo choi cc547372c0 feat: Drama Studio 프로젝트 초기 구조 설정
- FastAPI 백엔드 (audio-studio-api)
- Next.js 프론트엔드 (audio-studio-ui)
- Qwen3-TTS 엔진 (audio-studio-tts)
- MusicGen 서비스 (audio-studio-musicgen)
- Docker Compose 개발/운영 환경

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 11:39:38 +09:00

90 lines
2.1 KiB
YAML

# Drama Studio - Development Mode
# UI 핫리로드 지원
services:
mongodb:
image: mongo:7.0
container_name: drama-studio-mongodb
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER:-admin}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD:-password123}
ports:
- "27021:27017"
volumes:
- drama_studio_mongodb_data:/data/db
networks:
- drama-studio-network
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 30s
timeout: 10s
retries: 3
redis:
image: redis:7-alpine
container_name: drama-studio-redis
restart: unless-stopped
ports:
- "6383:6379"
volumes:
- drama_studio_redis_data:/data
networks:
- drama-studio-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 3
api:
build:
context: ./audio-studio-api
dockerfile: Dockerfile
container_name: drama-studio-api
restart: unless-stopped
environment:
- MONGODB_URL=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@mongodb:27017/
- DB_NAME=${DB_NAME:-drama_studio}
- REDIS_URL=redis://redis:6379
- TTS_ENGINE_URL=http://tts-engine:8001
- MUSICGEN_URL=http://musicgen:8002
- FREESOUND_API_KEY=${FREESOUND_API_KEY}
ports:
- "8010:8000"
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
networks:
- drama-studio-network
# UI 개발 모드 - 핫리로드
ui:
image: node:20-alpine
container_name: drama-studio-ui-dev
working_dir: /app
command: sh -c "npm install && npm run dev"
environment:
- NEXT_PUBLIC_API_URL=http://localhost:8010
- WATCHPACK_POLLING=true
ports:
- "3010:3000"
volumes:
- ./audio-studio-ui:/app
- /app/node_modules
- /app/.next
depends_on:
- api
networks:
- drama-studio-network
networks:
drama-studio-network:
driver: bridge
volumes:
drama_studio_mongodb_data:
drama_studio_redis_data: