224 lines
4.9 KiB
Markdown
224 lines
4.9 KiB
Markdown
# 🚀 빠른 시작 가이드
|
|
|
|
Document Server를 Synology DS1525+에 배포하는 가장 간단한 방법입니다.
|
|
|
|
## 📋 준비사항
|
|
|
|
- Synology DS1525+ (32GB RAM, SSD 캐시 활성화)
|
|
- Docker 패키지 설치 (Package Center에서 설치)
|
|
- SSH 접속 가능
|
|
- Git 설치 (선택사항)
|
|
|
|
## 🎯 한 번에 배포하기
|
|
|
|
### 방법 1: Git 클론 (권장) ⭐
|
|
|
|
```bash
|
|
# 1. NAS에 SSH 접속
|
|
ssh admin@your-nas-ip
|
|
|
|
# 2. 프로젝트 클론
|
|
cd /volume1/docker/
|
|
git clone https://git.hyungi.net/hyungi/document-server.git
|
|
cd document-server
|
|
|
|
# 3. 자동 배포 (환경 설정 + 배포)
|
|
./scripts/deploy-synology.sh
|
|
```
|
|
|
|
### 방법 2: 파일 업로드
|
|
|
|
```bash
|
|
# 1. 로컬에서 NAS로 파일 전송
|
|
scp -r ./document-server admin@your-nas-ip:/volume1/docker/
|
|
|
|
# 2. NAS에 SSH 접속
|
|
ssh admin@your-nas-ip
|
|
cd /volume1/docker/document-server
|
|
|
|
# 3. 자동 배포
|
|
./scripts/deploy-synology.sh
|
|
```
|
|
|
|
## ⚙️ 환경 설정 (자동)
|
|
|
|
배포 스크립트 실행 시 자동으로 환경 설정이 시작됩니다:
|
|
|
|
```
|
|
=== 🔧 Document Server 환경 변수 설정 ===
|
|
|
|
1. 데이터베이스 비밀번호
|
|
기본값: AbC123XyZ (자동생성)
|
|
입력: [엔터 = 기본값 사용]
|
|
|
|
2. JWT 시크릿 키 (보안용)
|
|
기본값: kL9mN2pQ... (자동생성)
|
|
입력: [엔터 = 기본값 사용]
|
|
|
|
3. 관리자 이메일
|
|
기본값: admin@document-server.local
|
|
입력: admin@mydomain.com
|
|
|
|
4. 관리자 비밀번호
|
|
기본값: MyPass123 (자동생성)
|
|
입력: [엔터 = 기본값 사용]
|
|
|
|
5. 도메인 이름 (외부 접속용)
|
|
기본값: localhost
|
|
입력: nas.mydomain.com
|
|
```
|
|
|
|
**💡 팁**: 대부분 엔터만 눌러도 안전한 기본값이 자동 설정됩니다!
|
|
|
|
## 🎉 배포 완료 후
|
|
|
|
### 접속 확인
|
|
```
|
|
🌐 웹 인터페이스: http://your-nas-ip:24100
|
|
📧 관리자 이메일: admin@document-server.local
|
|
🔑 관리자 비밀번호: (설정 시 표시된 비밀번호)
|
|
```
|
|
|
|
### 주요 기능 테스트
|
|
1. **할일관리**: `http://your-nas-ip:24100/todos.html`
|
|
2. **메모 트리**: `http://your-nas-ip:24100/memo-tree.html`
|
|
3. **노트북**: `http://your-nas-ip:24100/notebooks.html`
|
|
4. **문서 업로드**: 메인 페이지에서 HTML 파일 드래그&드롭
|
|
|
|
## 🔄 업데이트 방법
|
|
|
|
### Git 사용 (권장)
|
|
```bash
|
|
# NAS에 SSH 접속
|
|
ssh admin@your-nas-ip
|
|
cd /volume1/docker/document-server
|
|
|
|
# 자동 업데이트 (백업 + 업데이트 + 헬스체크)
|
|
./scripts/update-synology.sh
|
|
```
|
|
|
|
### 수동 업데이트
|
|
```bash
|
|
# 1. 코드 업데이트
|
|
git pull origin main
|
|
|
|
# 2. 컨테이너 재시작
|
|
docker-compose -f docker-compose.synology-optimized.yml restart
|
|
```
|
|
|
|
## 📊 모니터링
|
|
|
|
```bash
|
|
# 시스템 상태 확인
|
|
./scripts/monitor-synology.sh
|
|
|
|
# 실시간 모니터링 (5초 간격)
|
|
watch -n 5 './scripts/monitor-synology.sh'
|
|
|
|
# 로그 확인
|
|
docker-compose -f docker-compose.synology-optimized.yml logs -f
|
|
```
|
|
|
|
## 🚨 문제 해결
|
|
|
|
### 포트 충돌
|
|
```bash
|
|
# 포트 사용 확인
|
|
netstat -tuln | grep -E "(24100|24101|24102|24103)"
|
|
|
|
# 다른 포트 사용 시 .env.synology 파일 수정
|
|
nano .env.synology
|
|
# EXTERNAL_PORT=24200 (예시)
|
|
```
|
|
|
|
### 권한 문제
|
|
```bash
|
|
# 디렉토리 권한 수정
|
|
sudo chown -R 1000:1000 /volume1/docker/document-server/
|
|
sudo chown -R 1000:1000 /volume2/document-storage/
|
|
```
|
|
|
|
### 서비스 재시작
|
|
```bash
|
|
# 전체 재시작
|
|
docker-compose -f docker-compose.synology-optimized.yml restart
|
|
|
|
# 특정 서비스만 재시작
|
|
docker-compose -f docker-compose.synology-optimized.yml restart backend
|
|
```
|
|
|
|
### 롤백 (업데이트 실패 시)
|
|
```bash
|
|
# 이전 버전으로 롤백
|
|
./scripts/update-synology.sh rollback
|
|
```
|
|
|
|
## 💾 백업
|
|
|
|
### 자동 백업 설정
|
|
```bash
|
|
# Synology 작업 스케줄러에서 설정
|
|
# 제어판 > 작업 스케줄러 > 생성 > 사용자 정의 스크립트
|
|
|
|
# 매일 새벽 2시 백업
|
|
0 2 * * * /volume1/docker/document-server/backup.sh
|
|
```
|
|
|
|
### 수동 백업
|
|
```bash
|
|
# 즉시 백업 실행
|
|
/volume1/docker/document-server/backup.sh
|
|
|
|
# 백업 파일 확인
|
|
ls -la /volume2/document-storage/backups/
|
|
```
|
|
|
|
## 🔒 보안 설정
|
|
|
|
### 방화벽 (권장)
|
|
```bash
|
|
# Synology 제어판 > 보안 > 방화벽
|
|
# 규칙 추가: 포트 24100 허용
|
|
```
|
|
|
|
### SSL 인증서 (외부 접속 시)
|
|
```bash
|
|
# Let's Encrypt 인증서 발급
|
|
certbot certonly --webroot -w /volume2/document-storage/documents -d your-domain.com
|
|
```
|
|
|
|
## 📞 도움말
|
|
|
|
### 로그 수집 (문제 보고 시)
|
|
```bash
|
|
# 시스템 리포트 생성
|
|
./scripts/monitor-synology.sh > system-report.txt
|
|
|
|
# 로그 파일 위치
|
|
/volume1/docker/document-server/logs/
|
|
```
|
|
|
|
### 유용한 명령어
|
|
```bash
|
|
# Docker 상태 확인
|
|
docker ps
|
|
docker stats
|
|
|
|
# 디스크 사용량 확인
|
|
df -h /volume1 /volume2
|
|
|
|
# 메모리 사용량 확인
|
|
free -h
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 요약
|
|
|
|
1. **배포**: `./scripts/deploy-synology.sh` (한 번만)
|
|
2. **업데이트**: `./scripts/update-synology.sh` (필요시)
|
|
3. **모니터링**: `./scripts/monitor-synology.sh` (상태 확인)
|
|
4. **접속**: `http://your-nas-ip:24100`
|
|
|
|
**🎉 이제 Document Server를 사용할 준비가 완료되었습니다!**
|