🚀 시놀로지 배포 준비 완료
✨ 주요 변경사항: - 단일 docker-compose.yml로 통합 (로컬/시놀로지 환경 지원) - 시놀로지 볼륨 매핑 설정 (volume1: 이미지, volume3: 데이터) - 통합 배포 가이드 및 자동 배포 스크립트 추가 - 완전한 Memos 스타일 워크플로우 구현 🎯 새로운 기능: - 📝 메모 작성 (upload.html) - 이미지 업로드 지원 - 📥 수신함 (inbox.html) - 메모 편집 및 Todo/보드 변환 - ✅ Todo 목록 (todo-list.html) - 오늘 할 일 관리 - 📋 보드 (board.html) - 프로젝트 관리, 접기/펼치기, 이미지 지원 - 📚 아카이브 (archive.html) - 완료된 보드 보관 - 🔐 초기 설정 화면 - 관리자 계정 생성 🔧 기술적 개선: - 이미지 업로드/편집 완전 지원 - 반응형 디자인 및 모바일 최적화 - 보드 완료 후 자동 숨김 처리 - 메모 편집 시 제목 필드 제거 - 테스트 로그인 버튼 제거 (프로덕션 준비) - 과거 코드 정리 (TodoService, CalendarSyncService 등) 📦 배포 관련: - env.synology.example - 시놀로지 환경 설정 템플릿 - SYNOLOGY_DEPLOYMENT_GUIDE.md - 상세한 배포 가이드 - deploy-synology.sh - 원클릭 자동 배포 스크립트 - Nginx 정적 파일 서빙 및 이미지 프록시 설정 🗑️ 정리된 파일: - 사용하지 않는 HTML 페이지들 (dashboard, calendar, checklist 등) - 복잡한 통합 서비스들 (integrations 폴더) - 중복된 시놀로지 설정 파일들
This commit is contained in:
@@ -1,56 +1,84 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "4000:80"
|
||||
- "${FRONTEND_PORT:-4000}:80"
|
||||
depends_on:
|
||||
- backend
|
||||
environment:
|
||||
- API_BASE_URL=http://localhost:9000/api
|
||||
volumes:
|
||||
- ./frontend/static:/usr/share/nginx/html/static
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- todo-network
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "${BACKEND_PORT:-9000}:9000"
|
||||
depends_on:
|
||||
- database
|
||||
database:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- DATABASE_URL=postgresql+asyncpg://todo_user:${POSTGRES_PASSWORD:-todo_password}@database:5432/todo_db
|
||||
- SECRET_KEY=${SECRET_KEY:-your-secret-key-change-this-in-production}
|
||||
- DEBUG=${DEBUG:-true}
|
||||
- CORS_ORIGINS=["http://localhost:4000", "http://127.0.0.1:4000"]
|
||||
- SYNOLOGY_DSM_URL=${SYNOLOGY_DSM_URL:-}
|
||||
- SYNOLOGY_USERNAME=${SYNOLOGY_USERNAME:-}
|
||||
- SYNOLOGY_PASSWORD=${SYNOLOGY_PASSWORD:-}
|
||||
- ENABLE_SYNOLOGY_INTEGRATION=${ENABLE_SYNOLOGY_INTEGRATION:-false}
|
||||
- DEBUG=${DEBUG:-false}
|
||||
- CORS_ORIGINS=${CORS_ORIGINS:-["http://localhost:4000", "http://127.0.0.1:4000"]}
|
||||
# Synology MailPlus 통합 설정 (선택사항)
|
||||
- SYNOLOGY_MAIL_SERVER=${SYNOLOGY_MAIL_SERVER:-}
|
||||
- SYNOLOGY_MAIL_USERNAME=${SYNOLOGY_MAIL_USERNAME:-}
|
||||
- SYNOLOGY_MAIL_PASSWORD=${SYNOLOGY_MAIL_PASSWORD:-}
|
||||
- ENABLE_MAIL_MONITORING=${ENABLE_MAIL_MONITORING:-false}
|
||||
- MAIL_CHECK_INTERVAL=${MAIL_CHECK_INTERVAL:-300}
|
||||
- TODO_KEYWORDS=${TODO_KEYWORDS:-todo,할일,task}
|
||||
- ATTACHMENTS_PATH=/data/uploads
|
||||
volumes:
|
||||
# 시놀로지 볼륨 매핑
|
||||
- ${SYNOLOGY_UPLOADS_PATH:-/volume1/todo-project/uploads}:/data/uploads
|
||||
- ${SYNOLOGY_CONFIG_PATH:-/volume3/docker/todo-project/config}:/app/config
|
||||
# 로컬 개발용 (시놀로지에서는 제거)
|
||||
- ./backend/src:/app/src
|
||||
- ./backend/uploads:/app/uploads
|
||||
- todo_uploads:/data/uploads
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
networks:
|
||||
- todo-network
|
||||
|
||||
database:
|
||||
image: postgres:15-alpine
|
||||
ports:
|
||||
- "5434:5432"
|
||||
- "${DATABASE_PORT:-5432}:5432"
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER:-todo_user}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-todo_password}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-todo_db}
|
||||
volumes:
|
||||
# 시놀로지 볼륨 매핑
|
||||
- ${SYNOLOGY_DB_PATH:-/volume3/docker/todo-project/postgres}:/var/lib/postgresql/data
|
||||
- ${SYNOLOGY_CONFIG_PATH:-/volume3/docker/todo-project/config}/migrations:/docker-entrypoint-initdb.d
|
||||
# 로컬 개발용 (시놀로지에서는 제거)
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
- ./database/init:/docker-entrypoint-initdb.d
|
||||
- ./backend/migrations:/docker-entrypoint-initdb.d
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-todo_user} -d ${POSTGRES_DB:-todo_db}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
networks:
|
||||
- todo-network
|
||||
|
||||
networks:
|
||||
todo-network:
|
||||
driver: bridge
|
||||
|
||||
# 로컬 개발용 볼륨 (시놀로지에서는 사용하지 않음)
|
||||
volumes:
|
||||
postgres_data:
|
||||
todo_uploads:
|
||||
todo_uploads:
|
||||
Reference in New Issue
Block a user