229b09b895
Build & Deploy to K8s / build-and-deploy (push) Failing after 7m14s
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>
70 lines
2.0 KiB
YAML
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
|