Skip to content

Docker 컨테이너 배포 ​

Docker를 사용하는 것은 프로덕션 환경, NAS 장비 및 프라이빗 클라우드 서버에서 OneASR을 구동하는 가장 권장되는 방법입니다.


1. docker run 명령어로 빠른 실행 ​

NVIDIA GPU 하드웨어 가속 모드 ​

호스트 머신에 NVIDIA Container Toolkit이 설치되어 있는지 확인합니다:

bash
docker run -d \
  --name oneasr-gateway \
  --gpus all \
  -p 8000:8000 \
  -v $(pwd)/models:/app/models \
  -v $(pwd)/config.yaml:/app/config.yaml \
  --restart unless-stopped \
  codeandxv/oneasr:latest

CPU 모드 (외장 그래픽 카드 불필요) ​

bash
docker run -d \
  --name oneasr-gateway \
  -p 8000:8000 \
  -v $(pwd)/models:/app/models \
  -v $(pwd)/config.yaml:/app/config.yaml \
  --restart unless-stopped \
  codeandxv/oneasr:latest

2. Docker Compose 사용 (권장) ​

프로젝트 작업 디렉터리에 docker-compose.yml 파일을 생성합니다:

yaml
version: '3.8'

services:
  oneasr:
    image: codeandxv/oneasr:latest
    container_name: oneasr-gateway
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - ONEASR_API_KEY=sk-oneasr-v1-p_L3kXm9QZ8sT2vA4wE7rY1u
      - WORKERS=2
    volumes:
      - ./models:/app/models
      - ./config.yaml:/app/config.yaml
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

컨테이너 서비스 시작:

bash
docker compose up -d

실행 로그 확인:

bash
docker compose logs -f oneasr

3. 웹 콘솔 및 API 문서 접속 ​

서비스가 정상적으로 실행되면 브라우저에서 바로 접속할 수 있습니다:

  • 시각화 웹 대시보드: http://localhost:8000
  • Swagger 대화형 API 문서: http://localhost:8000/docs
  • 헬스 체크 엔드포인트: http://localhost:8000/api/v1/health