Files
invyone/docker-compose.backend.win.yml
T
Johngreen 229b09b895
Build & Deploy to K8s / build-and-deploy (push) Failing after 7m14s
AI관리 시스템 교체: ai-assistant 제거 + 멀티 에이전트 오케스트레이션 이식
Epic A: ai-assistant 디렉토리/Spring 프록시/프론트엔드 메뉴 완전 제거
Epic B: Flyway 도입 + 13 신규 테이블 마이그레이션
Epic C: 9 서비스 + 7 컨트롤러 + LlmClient 추상화 (Java 21/Spring/MyBatis)
Epic D: ApiKey 인증 필터 (sk-pipe-* 키 SHA-256 검증)
Epic E: OpenClaw 외부 엔진 docker-compose 통합
Epic F: Next.js 7 페이지 + lib/api/aiAgent.ts 이식
Epic G: 화면 그룹/메뉴 등록 마이그레이션 (V014)
Epic H: 통합 빌드 검증

- DB: invyone PostgreSQL에 ai_agents/ai_agent_groups/... 13 테이블 + Quartz
- 멀티테넌시: 모든 테이블에 company_code 강제 필터
- LLM: Anthropic/OpenAI/Google/Ollama 직접 클라이언트 (Spring AI 미도입)
- 스케줄러: Quartz JDBC JobStore (cron 기반)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 22:49:43 +09:00

70 lines
2.0 KiB
YAML

version: "3.8"
services:
# Spring Boot 백엔드
backend:
build:
context: ./backend-spring
dockerfile: ../docker/dev/backend-spring.Dockerfile
container_name: pms-backend-win
ports:
- "8081:8081"
environment:
- SPRING_PROFILES_ACTIVE=dev
- SERVER_PORT=8081
- SPRING_DATASOURCE_URL=jdbc:postgresql://183.99.177.40:5432/invyone
- SPRING_DATASOURCE_USERNAME=postgres
- SPRING_DATASOURCE_PASSWORD=invyone0909!!
- JWT_SECRET=ilshin-plm-super-secret-jwt-key-2024
- JWT_EXPIRATION=86400000
- FILE_UPLOAD_DIR=./uploads
# OpenClaw 연동 설정 (OPENCLAW_ENABLED=false 시 클라이언트 비활성)
- OPENCLAW_ENABLED=true
- OPENCLAW_GATEWAY_URL=http://openclaw:18789
volumes:
- ./backend-spring:/app
networks:
- pms-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8081/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 90s
depends_on:
openclaw:
condition: service_healthy
# OpenClaw 외부 AI 엔진 (port 18789)
# TODO: OPENCLAW_IMAGE 환경변수에 실제 이미지 경로 지정 필요.
# - 오픈소스 Docker Hub 이미지인 경우: docker.io/<org>/openclaw:latest
# - 사내 빌드 이미지인 경우: <registry>/<repo>/openclaw:<tag>
# 확인 전까지 OPENCLAW_IMAGE 환경변수를 .env 파일 또는 실행 커맨드에 직접 지정하세요.
openclaw:
image: ${OPENCLAW_IMAGE:-openclaw/openclaw:latest}
container_name: invyone-openclaw
ports:
- "18789:18789"
environment:
- OPENCLAW_PORT=18789
- OPENCLAW_LOG_LEVEL=info
volumes:
- openclaw-config:/root/.openclaw
networks:
- pms-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
volumes:
openclaw-config:
networks:
pms-network:
driver: bridge