Synology NAS์ Overleaf ์ค์นํ๊ธฐ
ํ์ด์ง ์ ๋ณด
๋ณธ๋ฌธ
[Synology NAS์ Overleaf ์ค์นํ๊ธฐ]
Overleaf ์ปค๋ฎค๋ํฐ ์๋์
v3.5.7 ์ค์น ๊ฐ์ด๋
Docker์ Portainer๋ฅผ ์ฌ์ฉํ ์ค์น ๋ฐฉ๋ฒ์ ์๋ด๋๋ฆฝ๋๋ค.
โถ ์ฌ์ ์ค๋น์ฌํญ
1. Docker๊ฐ ์ค์น๋ Synology NAS
2. Portainer ์ค์น๋จ
3. synology.me ์์ผ๋์นด๋ ์ธ์ฆ์
4. SMTP ์ค์ ์ด ์๋ฃ๋ Gmail ๊ณ์ (๋๋ ๋ค๋ฅธ SMTP ์๋ฒ ์ ๋ณด)
โถ ์ค์น ๊ณผ์
[1๋จ๊ณ] ํ๊ฒฝ ์ค๋น
File Station์์ ์๋ ํด๋๋ค์ ์์ฑํ์ธ์. (๋ชจ๋ ์๋ฌธ์๋ก ์์ฑ)
/docker/overleaf/
/docker/overleaf/configdb/
/docker/overleaf/db/
/docker/overleaf/redis/
[2๋จ๊ณ] ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์
1. ์ ์ดํ โ ๋ก๊ทธ์ธ ํฌํธ โ ๊ณ ๊ธ โ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ก ์ด๋
2. ์ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์์ฑ:
- ์ด๋ฆ: Overleaf
- ์์ค:
ย * ํ๋กํ ์ฝ: HTTPS
ย * ํธ์คํธ ์ด๋ฆ: overleaf.yourname.synology.me
ย * ํฌํธ: 443
ย * HSTS ํ์ฑํ ์ฒดํฌ
- ๋์:
ย * ํ๋กํ ์ฝ: HTTP
ย * ํธ์คํธ ์ด๋ฆ: localhost
ย * ํฌํธ: 7643
3. ์ฌ์ฉ์ ์ง์ ํค๋ ํญ์์ WebSocket ์ถ๊ฐํ๊ธฐ
[3๋จ๊ณ] ์์คํ ์ค์
1. HTTP/2 ํ์ฑํ
- ์ ์ดํ โ ๋คํธ์ํฌ โ ์ฐ๊ฒฐ
- "HTTP/2 ํ์ฑํ" ์ฒดํฌ ํ ์ ์ฉ
2. HTTP ์์ถ ํ์ฑํ
- ์ ์ดํ โ ๋ณด์ โ ๊ณ ๊ธ
- "HTTP ์์ถ ํ์ฑํ" ์ฒดํฌ ํ ์ ์ฉ
[4๋จ๊ณ] Overleaf ์คํ ๋ฐฐํฌ
1. Portainer์ ๋ก๊ทธ์ธ
2. ์ ์คํ ์์ฑ (์ด๋ฆ: overleaf)
3. ์๋ ์ค์ ์ ๋ณต์ฌํด์ ๋ถ์ฌ๋ฃ๊ธฐ (โป ๊ดํธ ์์ ๋ด์ฉ์ ๋ณธ์ธ ์ ๋ณด๋ก ์์ )
------------------- ์ฌ๊ธฐ์๋ถํฐ ๋ณต์ฌ -------------------
version: '3.9'
services:
ย ย overleaf:
ย ย ย restart: on-failure:5
ย ย ย image: sharelatex/sharelatex:3.5.7
ย ย ย healthcheck:
ย ย ย test: curl -f http://localhost:80/ || exit 1
ย ย ย container_name: Overleaf
ย ย ย depends_on:
ย ย ย ย mongo:
ย ย ย ย ย condition: service_healthy
ย ย ย ย redis:
ย ย ย ย ย condition: service_healthy
ย ย ย ports:
ย ย ย ย ย - 7643:80
ย ย ย stop_grace_period: 60s
ย ย ย volumes:
ย ย ย ย ย - /volume1/docker/overleaf:/var/lib/sharelatex
ย ย ย environment:
ย ย ย SHARELATEX_APP_NAME: Overleaf Community Edition
ย ย ย SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
ย ย ย SHARELATEX_REDIS_HOST: redis
ย ย ย REDIS_HOST: redis
ย ย ย ENABLED_LINKED_FILE_TYPES: project_file,project_output_file
ย ย ย ENABLE_CONVERSIONS: true
ย ย ย EMAIL_CONFIRMATION_DISABLED: false
ย ย ย SHARELATEX_ADMIN_EMAIL: [Gmail ์ฃผ์ ์
๋ ฅ]
ย ย ย TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var
ย ย ย SHARELATEX_SITE_URL: https://overleaf.yourname.synology.me
ย ย ย SHARELATEX_NAV_TITLE: [์ํ๋ ์ ๋ชฉ ์
๋ ฅ]
ย ย ย SHARELATEX_EMAIL_SMTP_HOST: smtp.gmail.com
ย ย ย SHARELATEX_EMAIL_SMTP_PORT: 587
ย ย ย SHARELATEX_EMAIL_SMTP_USER: [Gmail ์ฃผ์ ์
๋ ฅ]
ย ย ย SHARELATEX_EMAIL_SMTP_PASS: [Gmail ์ฑ ๋น๋ฐ๋ฒํธ ์
๋ ฅ]
ย ย ย SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: true
ย ย ย SHARELATEX_EMAIL_SMTP_IGNORE_TLS: false
ย ย ย SHARELATEX_EMAIL_FROM_ADDRESS: [Gmail ์ฃผ์ ์
๋ ฅ]
ย ย ย SHARELATEX_EMAIL_SMTP_LOGGER: true
ย ย mongo:
ย ย ย restart: on-failure:5
ย ย ย image: mongo:4.4
ย ย ย container_name: Overleaf-DB
ย ย ย expose:
ย ย ย ย ย ย - 27017
ย ย ย volumes:
ย ย ย ย - /volume1/docker/overleaf/db:/data/db
ย ย ย ย - /volume1/docker/overleaf/configdb:/data/configdb
ย ย ย healthcheck:
ย ย ย ย test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
ย ย ย ย interval: 10s
ย ย ย ย timeout: 10s
ย ย ย ย retries: 5
ย ย redis:
ย ย ย restart: on-failure:5
ย ย ย image: redis
ย ย ย mem_limit: 256m
ย ย ย mem_reservation: 50m
ย ย ย cpu_shares: 768
ย ย ย security_opt:
ย ย ย ย - no-new-privileges:true
ย ย ย healthcheck:
ย ย ย ย test: ["CMD-SHELL", "redis-cli ping || exit 1"]
ย ย ย container_name: Overleaf-REDIS
ย ย ย expose:
ย ย ย ย - 6379
ย ย ย volumes:
ย ย ย ย - /volume1/docker/overleaf/redis:/data
ย ย ย environment:
ย ย ย ย TZ: [์๊ฐ๋ ์
๋ ฅ (์: Asia/Seoul)]
------------------- ์ฌ๊ธฐ๊น์ง ๋ณต์ฌ -------------------
[5๋จ๊ณ] ๊ด๋ฆฌ์ ๊ณ์ ์์ฑ
1. Portainer์์ Overleaf ์ปจํ
์ด๋์ ํฐ๋ฏธ๋ ์ ์
2. ์๋ ๋ช
๋ น์ด ์คํ (์ด๋ฉ์ผ ์ฃผ์ ๋ณ๊ฒฝ ํ์)
cd /var/www/sharelatex; grunt user:create-admin --email=๋ณธ์ธ์ด๋ฉ์ผ์ฃผ์
3. ์์ฑ๋ ํ์ฑํ ๋งํฌ ๋ณต์ฌ
[6๋จ๊ณ] ์ค์น ์๋ฃ ๋ฐ ์ด๊ธฐ ์ค์
1. ๋ณต์ฌํ ํ์ฑํ ๋งํฌ๋ก ์ ์
2. ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ ์ค์
3. ์ฒซ ํ๋ก์ ํธ ์์ฑ
4. ์ด๋ฉ์ผ ์ฃผ์ ์ธ์ฆ
โ ์ฃผ์์ฌํญ
1. ๋๊ดํธ([]) ์์ ๋ด์ฉ์ ๋ฐ๋์ ๋ณธ์ธ์ ์ ๋ณด๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
2. Overleaf ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ์ฝ 3GB์ด๋ฏ๋ก ์ถฉ๋ถํ ์๊ฐ ์ฌ์ ๋ฅผ ๊ฐ์ง๊ณ ์ค์นํ์ธ์.
3. ๋ชจ๋ ํด๋๋ช
์ ๋ฐ๋์ ์๋ฌธ์๋ก ์์ฑํด์ผ ํฉ๋๋ค.
4. ์ด๋ฉ์ผ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด SMTP ์ค์ ์ด ์ ํํด์ผ ํฉ๋๋ค.
โ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์๋ ์ฌํญ๋ค์ ์ฐจ๋ก๋ก ํ์ธํ์ธ์:
1. Portainer์์ ์ปจํ
์ด๋ ๋ก๊ทธ ํ์ธ
2. ํ๊ฒฝ ๋ณ์ ์ค์ ๊ฐ ํ์ธ
3. ํฌํธ ์ ๊ทผ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ
4. SMTP ์ค์ ์ ํ์ฑ ํ์ธ
๋๊ธ๋ชฉ๋ก
๋ฑ๋ก๋ ๋๊ธ์ด ์์ต๋๋ค.
