# ๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘ ๊ฐ€์ด๋“œ 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๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!**