2025-08-21 09:41:46 +09:00
|
|
|
services:
|
2025-10-02 16:14:22 +09:00
|
|
|
# Node.js 백엔드
|
|
|
|
|
plm-backend:
|
2025-08-21 09:41:46 +09:00
|
|
|
build:
|
2025-08-28 13:44:01 +09:00
|
|
|
context: ../../backend-node
|
|
|
|
|
dockerfile: ../docker/prod/backend.Dockerfile # 운영용 Dockerfile
|
2025-08-28 11:27:15 +09:00
|
|
|
container_name: pms-backend-prod
|
2025-10-30 12:09:22 +09:00
|
|
|
ports:
|
|
|
|
|
- "8080:8080" # 호스트:컨테이너 포트 매핑
|
|
|
|
|
networks:
|
|
|
|
|
- pms-network
|
2025-08-21 09:41:46 +09:00
|
|
|
environment:
|
2025-08-28 11:27:15 +09:00
|
|
|
- NODE_ENV=production
|
2025-08-22 15:45:05 +09:00
|
|
|
- PORT=8080
|
2025-09-04 14:45:58 +09:00
|
|
|
- HOST=0.0.0.0 # 모든 인터페이스에서 바인딩
|
2026-04-01 12:12:15 +09:00
|
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
|
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
|
|
|
- JWT_EXPIRES_IN=${JWT_EXPIRES_IN:-24h}
|
|
|
|
|
- CORS_ORIGIN=${CORS_ORIGIN:-http://192.168.0.70:5555,http://39.117.244.52:5555,http://localhost:9771}
|
2025-08-22 15:45:05 +09:00
|
|
|
- CORS_CREDENTIALS=true
|
2025-08-28 11:27:15 +09:00
|
|
|
- LOG_LEVEL=info
|
2026-04-01 12:12:15 +09:00
|
|
|
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
|
|
|
|
|
- KMA_API_KEY=${KMA_API_KEY}
|
|
|
|
|
- ITS_API_KEY=${ITS_API_KEY}
|
2025-10-30 15:17:48 +09:00
|
|
|
- EXPRESSWAY_API_KEY=${EXPRESSWAY_API_KEY:-}
|
2026-04-03 11:23:02 +09:00
|
|
|
- SMART_FACTORY_API_KEY_COMPANY_10=${SMART_FACTORY_API_KEY_COMPANY_10:-}
|
|
|
|
|
- SMART_FACTORY_API_KEY_COMPANY_9=${SMART_FACTORY_API_KEY_COMPANY_9:-}
|
2025-08-21 09:41:46 +09:00
|
|
|
restart: unless-stopped
|
|
|
|
|
healthcheck:
|
2025-10-02 16:14:22 +09:00
|
|
|
test: ["CMD", "curl", "-f", "http://localhost:3001/health"]
|
2025-08-21 09:41:46 +09:00
|
|
|
interval: 30s
|
|
|
|
|
timeout: 10s
|
|
|
|
|
retries: 3
|
|
|
|
|
start_period: 60s
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
pms-network:
|
2025-10-30 12:09:22 +09:00
|
|
|
external: true # 외부에서 생성된 네트워크 사용
|