From a7e4c0158e86bdf940d95515d136b9446919d007 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Fri, 1 Aug 2025 13:46:07 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20=ED=94=84=EB=A1=A0=ED=8A=B8?= =?UTF-8?q?=EC=97=94=EB=93=9C=20API=20URL=20=EC=84=A4=EC=A0=95=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 프로덕션에서 nginx 프록시를 통한 /api 경로 사용 - 환경변수 VITE_API_URL을 통한 유연한 설정 지원 - Docker Compose에서 환경변수 주입 설정 추가 --- docker-compose.yml | 38 ++++++++++++++++++++++++++++++++++++++ frontend/src/api.js | 3 ++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index ae8aad0..fd10111 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,6 +49,44 @@ services: networks: - tk-mp-network + # 백엔드 FastAPI 서비스 + backend: + build: + context: ./backend + dockerfile: Dockerfile + container_name: tk-mp-backend + restart: unless-stopped + ports: + - "8000:8000" + environment: + - DATABASE_URL=postgresql://tkmp_user:tkmp_password_2025@postgres:5432/tk_mp_bom + - REDIS_URL=redis://redis:6379 + depends_on: + - postgres + - redis + networks: + - tk-mp-network + volumes: + - ./backend/uploads:/app/uploads + + # 프론트엔드 Nginx 서비스 + frontend: + build: + context: ./frontend + dockerfile: Dockerfile + args: + - VITE_API_URL=${VITE_API_URL:-/api} + container_name: tk-mp-frontend + restart: unless-stopped + ports: + - "3000:3000" + environment: + - VITE_API_URL=${VITE_API_URL:-/api} + depends_on: + - backend + networks: + - tk-mp-network + volumes: postgres_data: driver: local diff --git a/frontend/src/api.js b/frontend/src/api.js index 92835d5..fec2416 100644 --- a/frontend/src/api.js +++ b/frontend/src/api.js @@ -1,8 +1,9 @@ import axios from 'axios'; // 환경변수에서 API URL을 읽음 (Vite 기준) +// 프로덕션에서는 nginx 프록시를 통해 /api 경로 사용 const API_BASE_URL = import.meta.env.VITE_API_URL || - (import.meta.env.DEV ? 'http://localhost:8000' : 'http://localhost:8000'); + (import.meta.env.DEV ? 'http://localhost:8000' : '/api'); console.log('API Base URL:', API_BASE_URL); console.log('Environment:', import.meta.env.MODE);