b7c5262c53
invyone (= old TEST-VEX) is React + Java only; backend-node belongs to a different project (PMS) and was bundled by mistake. Remove the backend-node service from docker-compose.invyone.yml, drop the backend-node.Dockerfile, and clean up the now-unused frontend env vars that pointed at the node API. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
85 lines
2.7 KiB
YAML
85 lines
2.7 KiB
YAML
# invyone (= 옛 TEST-VEX, React + Java 풀스택) 도커 컴포즈
|
|
# 사무실 우분투 호스팅용. restart unless-stopped 로 항상 떠있게.
|
|
#
|
|
# 외부 노출 포트:
|
|
# - frontend : 9772
|
|
# - backend-spring : 8083
|
|
#
|
|
# 컨테이너 내부 포트는 각 앱의 기본값 유지 (3000 / 8081)
|
|
# 모드: dev (volume mount + 자동 리로드). 코드 변경은 syncthing 통해 동기화됨.
|
|
#
|
|
# 띄우기:
|
|
# cd ~/invyone && docker compose -f docker/dev/docker-compose.invyone.yml up -d
|
|
#
|
|
# 끄기:
|
|
# cd ~/invyone && docker compose -f docker/dev/docker-compose.invyone.yml down
|
|
|
|
services:
|
|
# ========================
|
|
# Spring Boot 백엔드
|
|
# ========================
|
|
backend-spring:
|
|
build:
|
|
context: ../../backend-spring
|
|
dockerfile: ../docker/dev/backend-spring.Dockerfile
|
|
container_name: invyone-backend-spring
|
|
ports:
|
|
- "8083:8081"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: dev
|
|
SERVER_PORT: 8081
|
|
# vexplor_dev DB (211.115.91.141:11134)
|
|
SPRING_DATASOURCE_URL: jdbc:postgresql://211.115.91.141:11134/vexplor_dev
|
|
SPRING_DATASOURCE_USERNAME: postgres
|
|
SPRING_DATASOURCE_PASSWORD: vexplor0909!!
|
|
JWT_SECRET: ilshin-plm-super-secret-jwt-key-2024
|
|
JWT_EXPIRATION: "86400000"
|
|
FILE_UPLOAD_DIR: ./uploads
|
|
volumes:
|
|
- ../../backend-spring:/app
|
|
networks:
|
|
- invyone-net
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
# actuator 미설치 + spring security 가 / 와 /health 모두 403 처리.
|
|
# 컨테이너 내부에서 8081 포트로 응답이 오기만 하면 (status 무관) OK 로 간주.
|
|
test: ["CMD-SHELL", "curl -sS -o /dev/null http://localhost:8081/ || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 120s
|
|
|
|
# ========================
|
|
# Next.js 프론트엔드
|
|
# ========================
|
|
frontend:
|
|
build:
|
|
context: ../../frontend
|
|
dockerfile: ../docker/dev/frontend.Dockerfile
|
|
container_name: invyone-frontend
|
|
ports:
|
|
- "9772:3000"
|
|
environment:
|
|
NODE_ENV: development
|
|
# 브라우저(클라이언트)에서 API 호출용 — 호스트에서 보이는 포트
|
|
NEXT_PUBLIC_API_URL: http://localhost:8083/api
|
|
# 서버사이드(SSR) 호출용 — 컨테이너 네트워크 내부 이름
|
|
SERVER_API_URL: http://invyone-backend-spring:8081
|
|
NODE_OPTIONS: --max-old-space-size=8192
|
|
NEXT_TELEMETRY_DISABLED: "1"
|
|
WATCHPACK_POLLING: "true"
|
|
volumes:
|
|
- ../../frontend:/app
|
|
- /app/node_modules
|
|
- /app/.next
|
|
depends_on:
|
|
- backend-spring
|
|
networks:
|
|
- invyone-net
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
invyone-net:
|
|
name: invyone-net
|
|
driver: bridge
|