52 lines
1.9 KiB
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 # 외부에서 생성된 네트워크 사용
|
||
|
|