From 0906c3ba354752c846a6f213fb08d193349fb3a5 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 6 May 2026 01:37:29 +0900 Subject: [PATCH] =?UTF-8?q?chore(infra):=20packs-lab=20=EC=84=9C=EB=B9=84?= =?UTF-8?q?=EC=8A=A4=20=ED=86=B5=ED=95=A9=20(compose=2018950=20+=20nginx?= =?UTF-8?q?=205GB=20streaming=20+=20env=207=EA=B0=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .env.example | 19 +++++++++++++++++++ docker-compose.yml | 18 ++++++++++-------- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.env.example b/.env.example index 307e330..388866b 100644 --- a/.env.example +++ b/.env.example @@ -93,3 +93,22 @@ REALESTATE_NOTIFY_TIMEOUT=15 PEXELS_API_KEY= YOUTUBE_DATA_API_KEY= # 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://.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 diff --git a/docker-compose.yml b/docker-compose.yml index fa6823b..708c2d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -181,16 +181,18 @@ services: container_name: packs-lab restart: unless-stopped ports: - - "18910:8000" + - "18950:8000" environment: - DSM_HOST: ${DSM_HOST} - DSM_USER: ${DSM_USER} - DSM_PASS: ${DSM_PASS} - BACKEND_HMAC_SECRET: ${BACKEND_HMAC_SECRET} - SUPABASE_URL: ${SUPABASE_URL} - SUPABASE_SERVICE_KEY: ${SUPABASE_SERVICE_KEY} + - TZ=${TZ:-Asia/Seoul} + - DSM_HOST=${DSM_HOST:-} + - DSM_USER=${DSM_USER:-} + - DSM_PASS=${DSM_PASS:-} + - BACKEND_HMAC_SECRET=${BACKEND_HMAC_SECRET:-} + - SUPABASE_URL=${SUPABASE_URL:-} + - SUPABASE_SERVICE_KEY=${SUPABASE_SERVICE_KEY:-} + - UPLOAD_TOKEN_TTL_SEC=${UPLOAD_TOKEN_TTL_SEC:-1800} volumes: - - ${RUNTIME_PATH:-.}/media/packs:/volume1/docker/webpage/media/packs + - ${PACK_DATA_PATH:-./data/packs}:/app/data/packs healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"] interval: 30s