✨ 주요 개선사항: - PDF API 500 에러 수정 (한글 파일명 UTF-8 인코딩 처리) - PDF 뷰어 기능 완전 구현 (PDF.js 통합, 네비게이션, 확대/축소) - 서적별 문서 그룹화 UI 데본씽크 스타일로 개선 - PDF Manager 페이지 서적별 보기 기능 추가 - Alpine.js 로드 순서 최적화로 JavaScript 에러 해결 🎨 UI/UX 개선: - 확장/축소 가능한 아코디언 스타일 서적 목록 - 간결하고 직관적인 데본씽크 스타일 인터페이스 - PDF 상태 표시 (HTML 연결, 서적 분류) - 반응형 디자인 및 부드러운 애니메이션 🔧 기술적 개선: - PDF.js 워커 설정 및 토큰 인증 처리 - 서적별 PDF 자동 그룹화 로직 - Alpine.js 컴포넌트 초기화 최적화
77 lines
1.7 KiB
YAML
77 lines
1.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Nginx 리버스 프록시
|
|
nginx:
|
|
build: ./nginx
|
|
container_name: document-server-nginx
|
|
ports:
|
|
- "24100:80"
|
|
volumes:
|
|
- ./frontend:/usr/share/nginx/html
|
|
- ./uploads:/usr/share/nginx/html/uploads
|
|
depends_on:
|
|
- backend
|
|
networks:
|
|
- document-network
|
|
restart: unless-stopped
|
|
|
|
# Backend API 서버
|
|
backend:
|
|
build: ./backend
|
|
container_name: document-server-backend
|
|
ports:
|
|
- "24102:8000"
|
|
volumes:
|
|
- ./uploads:/app/uploads
|
|
- ./backend/src:/app/src
|
|
environment:
|
|
- DATABASE_URL=postgresql+asyncpg://docuser:docpass@database:5432/document_db
|
|
- SECRET_KEY=${SECRET_KEY:-production-secret-key-change-this}
|
|
- ADMIN_EMAIL=${ADMIN_EMAIL:-admin@test.com}
|
|
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123}
|
|
- DEBUG=false
|
|
depends_on:
|
|
- database
|
|
networks:
|
|
- document-network
|
|
restart: unless-stopped
|
|
|
|
# PostgreSQL 데이터베이스
|
|
database:
|
|
image: postgres:15-alpine
|
|
container_name: document-server-db
|
|
ports:
|
|
- "24101:5432"
|
|
environment:
|
|
- POSTGRES_DB=document_db
|
|
- POSTGRES_USER=docuser
|
|
- POSTGRES_PASSWORD=docpass
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./database/init:/docker-entrypoint-initdb.d
|
|
networks:
|
|
- document-network
|
|
restart: unless-stopped
|
|
|
|
# Redis (캐싱 및 세션)
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: document-server-redis
|
|
ports:
|
|
- "24103:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- document-network
|
|
restart: unless-stopped
|
|
command: redis-server --appendonly yes
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
|
|
networks:
|
|
document-network:
|
|
driver: bridge
|