chore(infra): packs-lab 서비스 통합 (compose 18950 + nginx 5GB streaming + env 7개)
- docker-compose.yml: 포트 18910→18950 수정, env 형식을 list 스타일로 통일,
TZ/UPLOAD_TOKEN_TTL_SEC 추가, volume 경로를 /app/data/packs으로 정정
- .env.example: packs-lab 섹션 신규 추가 (DSM_HOST/DSM_USER/DSM_PASS/
BACKEND_HMAC_SECRET/SUPABASE_URL/SUPABASE_SERVICE_KEY/UPLOAD_TOKEN_TTL_SEC/PACK_DATA_PATH)
- nginx/default.conf: 이전 커밋(9a0bbec)에 이미 포함 — 변경 없음
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
19
.env.example
19
.env.example
@@ -93,3 +93,22 @@ REALESTATE_NOTIFY_TIMEOUT=15
|
|||||||
PEXELS_API_KEY=
|
PEXELS_API_KEY=
|
||||||
YOUTUBE_DATA_API_KEY=
|
YOUTUBE_DATA_API_KEY=
|
||||||
# VIDEO_DATA_DIR=/app/data/videos # 기본값, 재정의 필요 시만 설정
|
# VIDEO_DATA_DIR=/app/data/videos # 기본값, 재정의 필요 시만 설정
|
||||||
|
|
||||||
|
# ─── packs-lab — NAS 자료 다운로드 자동화 ────────────────────────────
|
||||||
|
# Synology DSM 7.x 인증 (공유 링크 발급용)
|
||||||
|
DSM_HOST=https://gahusb.synology.me:5001
|
||||||
|
DSM_USER=
|
||||||
|
DSM_PASS=
|
||||||
|
|
||||||
|
# Vercel SaaS ↔ backend HMAC 시크릿 (양쪽 동일 값)
|
||||||
|
BACKEND_HMAC_SECRET=
|
||||||
|
|
||||||
|
# Supabase pack_files 테이블 접근 (service_role 키, RLS 우회)
|
||||||
|
SUPABASE_URL=https://<project>.supabase.co
|
||||||
|
SUPABASE_SERVICE_KEY=
|
||||||
|
|
||||||
|
# admin upload 토큰 TTL (초). default 1800 = 30분
|
||||||
|
UPLOAD_TOKEN_TTL_SEC=1800
|
||||||
|
|
||||||
|
# 로컬 개발: ./data/packs / NAS 운영: /volume1/docker/webpage/media/packs
|
||||||
|
PACK_DATA_PATH=./data/packs
|
||||||
|
|||||||
@@ -181,16 +181,18 @@ services:
|
|||||||
container_name: packs-lab
|
container_name: packs-lab
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "18910:8000"
|
- "18950:8000"
|
||||||
environment:
|
environment:
|
||||||
DSM_HOST: ${DSM_HOST}
|
- TZ=${TZ:-Asia/Seoul}
|
||||||
DSM_USER: ${DSM_USER}
|
- DSM_HOST=${DSM_HOST:-}
|
||||||
DSM_PASS: ${DSM_PASS}
|
- DSM_USER=${DSM_USER:-}
|
||||||
BACKEND_HMAC_SECRET: ${BACKEND_HMAC_SECRET}
|
- DSM_PASS=${DSM_PASS:-}
|
||||||
SUPABASE_URL: ${SUPABASE_URL}
|
- BACKEND_HMAC_SECRET=${BACKEND_HMAC_SECRET:-}
|
||||||
SUPABASE_SERVICE_KEY: ${SUPABASE_SERVICE_KEY}
|
- SUPABASE_URL=${SUPABASE_URL:-}
|
||||||
|
- SUPABASE_SERVICE_KEY=${SUPABASE_SERVICE_KEY:-}
|
||||||
|
- UPLOAD_TOKEN_TTL_SEC=${UPLOAD_TOKEN_TTL_SEC:-1800}
|
||||||
volumes:
|
volumes:
|
||||||
- ${RUNTIME_PATH:-.}/media/packs:/volume1/docker/webpage/media/packs
|
- ${PACK_DATA_PATH:-./data/packs}:/app/data/packs
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
|
|||||||
Reference in New Issue
Block a user