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