Files
safe-project/docker-compose.yml
Hyungi Ahn 2a9968fa7f feat: TK 안전관리 플랫폼 초기 구현
위험성평가, 안전 RAG Q&A, 안전점검 체크리스트를 통합한
안전관리자 전용 웹 플랫폼 전체 구현.

- Next.js 15 (App Router) + TypeScript + Tailwind + shadcn/ui
- Drizzle ORM + PostgreSQL 16 (12개 테이블)
- 위험성평가 CRUD + 5x5 위험성 매트릭스 + 인쇄 내보내기
- 체크리스트 템플릿/점검/NCR 추적
- RAG 문서 파이프라인 (Tika + bge-m3 + Qdrant)
- SSE 스트리밍 RAG 채팅 (qwen3.5:35b-a3b)
- AI 어시스트 (위험요인 추천, 감소대책, 점검항목 생성)
- 대시보드 통계/차트 (recharts)
- 단일 사용자 인증 (HMAC 쿠키 세션)
- 다크모드 지원
- Docker 멀티스테이지 빌드 (standalone)
- 프로젝트 가이드 문서 (docs/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 12:33:55 +09:00

47 lines
1.3 KiB
YAML

services:
app:
build: .
container_name: tk-safety
restart: unless-stopped
ports:
- "3100:3000"
environment:
- DATABASE_URL=postgres://tksafety:tksafety_password@db:5432/tksafety
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-changeme}
- SESSION_SECRET=${SESSION_SECRET:-tk-safety-session-secret-change-me}
- OLLAMA_BASE_URL=http://host.docker.internal:11434
- OLLAMA_MODEL=qwen3.5:35b-a3b
- EMBEDDING_BASE_URL=http://100.111.160.84:11434
- EMBEDDING_MODEL=bge-m3
- QDRANT_URL=http://host.docker.internal:6333
- QDRANT_COLLECTION=safety-docs
- TIKA_URL=http://host.docker.internal:9998
volumes:
- ./uploads:/app/uploads
depends_on:
db:
condition: service_healthy
extra_hosts:
- "host.docker.internal:host-gateway"
db:
image: postgres:16-alpine
container_name: tk-safety-db
restart: unless-stopped
ports:
- "127.0.0.1:5433:5432"
environment:
- POSTGRES_USER=tksafety
- POSTGRES_PASSWORD=tksafety_password
- POSTGRES_DB=tksafety
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U tksafety"]
interval: 5s
timeout: 5s
retries: 5
volumes:
pgdata: