ai_invest/backend/fastapi/docker-compose.yaml

52 lines
1.9 KiB
YAML

services:
api:
build:
context: .
dockerfile: Dockerfile-fastapi
image: fastapi:v1
container_name: fastapi-dev-test
ports:
- "8096:8097" # 개발 테스트용 포트 (외부:8096 → 내부:8097)
volumes:
# 실시간 코드 반영을 위한 볼륨 마운트
- /home/user1/yjh/fastapi/app:/app
# 문서 파일 공유
- /home/user1/yjh/fastapi/document_files:/home/user1/yjh/fastapi/document_files
- /home/user1/yjh/rebbitMQ/logs:/rebbitMQ/logs
# rebbitMQ 문서 파일 마운트 (데이터 공유)
- /home/user1/yjh/rebbitMQ/document_files:/home/user1/yjh/rebbitMQ/document_files
- /home/user1/yjh/rebbitMQ/document_files_test:/home/user1/yjh/rebbitMQ/document_files_test
environment:
- SERVER_NAME=dev-test # 서버 식별용
- PORT=8097
- ENV=development # 개발 환경 표시
# 운영서버 접속정보
- MYSQL_HOST=222.234.3.20
- MYSQL_PORT=3306
- MYSQL_USER=i2
- MYSQL_PW=whdgus&cndaks
- MYSQL_DB=i2
# AI API 키
- GEMINI_API_KEY=AIzaSyDafw8OSsYEFBPvjtrB5kkwIDdJgaKjKyk
networks:
- db_network # 데이터베이스 네트워크 연결
restart: unless-stopped
# 개발 중에는 자동 재시작으로 편의성 제공
healthcheck:
# 개발 서버 상태 확인
test: ["CMD", "curl", "-f", "http://localhost:8097/docs"]
interval: 60s # 개발 환경이므로 느슨한 체크
timeout: 10s
retries: 3
start_period: 30s
# ===========================================================================
# 네트워크 설정
# - 외부 데이터베이스 네트워크에 연결
# - 다른 서비스들과 네트워크 분리
# ===========================================================================
networks:
db_network:
external: true # 외부에서 생성된 네트워크 사용