# luke_scribe 프로덕션 compose — API + Redis + 워커 + 공유 스토어 # 사용법: docker compose --profile gpu up -d (또는 --profile cpu) services: redis: image: redis:7-alpine restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 api: build: context: .. dockerfile: docker/Dockerfile.cpu profiles: ["cpu"] depends_on: redis: condition: service_healthy environment: LUKESCRIBE_QUEUE_BACKEND: redis LUKESCRIBE_REDIS_URL: redis://redis:6379/0 LUKESCRIBE_API_KEYS: ${LUKESCRIBE_API_KEYS:?API 키 필요} volumes: - luke-store:/data/luke-scribe ports: - "8000:8000" api-gpu: build: context: .. dockerfile: docker/Dockerfile.gpu profiles: ["gpu"] depends_on: redis: condition: service_healthy environment: LUKESCRIBE_QUEUE_BACKEND: redis LUKESCRIBE_REDIS_URL: redis://redis:6379/0 LUKESCRIBE_API_KEYS: ${LUKESCRIBE_API_KEYS:?API 키 필요} volumes: - luke-store:/data/luke-scribe ports: - "8000:8000" deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] worker: build: context: .. dockerfile: docker/Dockerfile.cpu profiles: ["cpu"] depends_on: redis: condition: service_healthy environment: LUKESCRIBE_QUEUE_BACKEND: redis LUKESCRIBE_REDIS_URL: redis://redis:6379/0 command: ["python", "-m", "luke_scribe.cli", "serve"] volumes: - luke-store:/data/luke-scribe volumes: luke-store: