Files
TK-BOM-Project/docker-compose.yml
Hyungi Ahn b940b1b610 feat: SQLAlchemy 데이터베이스 연동 및 기본 API 구현
Phase 2 - 데이터베이스 연결 완료:
- SQLAlchemy 모델 생성 (Project, File, Material)
- Pydantic 스키마 정의 (요청/응답 검증)
- 데이터베이스 연결 설정 (database.py)
- FastAPI와 PostgreSQL 실제 연동
- 프로젝트 CRUD API 구현 (/api/projects)
- 실제 데이터베이스 헬스체크 기능
- Python 가상환경 및 의존성 설치 완료

개발환경:
- Python 3.9.6 + FastAPI 0.104.1
- PostgreSQL 15 + SQLAlchemy 2.0.23
- 완전한 개발환경 구축 완료
2025-07-14 12:03:42 +09:00

63 lines
1.3 KiB
YAML

version: '3.8'
services:
# PostgreSQL 데이터베이스
postgres:
image: postgres:15-alpine
container_name: tk-mp-postgres
restart: unless-stopped
environment:
POSTGRES_DB: tk_mp_bom
POSTGRES_USER: tkmp_user
POSTGRES_PASSWORD: tkmp_password_2025
POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --locale=C"
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
- ./database/init:/docker-entrypoint-initdb.d
networks:
- tk-mp-network
# pgAdmin 웹 관리도구
pgadmin:
image: dpage/pgadmin4:latest
container_name: tk-mp-pgadmin
restart: unless-stopped
environment:
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: admin2025
PGADMIN_CONFIG_SERVER_MODE: 'False'
ports:
- "5050:80"
volumes:
- pgadmin_data:/var/lib/pgadmin
depends_on:
- postgres
networks:
- tk-mp-network
# Redis (캐시 및 세션 관리용)
redis:
image: redis:7-alpine
container_name: tk-mp-redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- tk-mp-network
volumes:
postgres_data:
driver: local
pgadmin_data:
driver: local
redis_data:
driver: local
networks:
tk-mp-network:
driver: bridge