From 9a0bbeccd549f5959eb5d4b438e3361dc95aeeaf Mon Sep 17 00:00:00 2001 From: gahusb Date: Sat, 2 May 2026 08:57:36 +0900 Subject: [PATCH] =?UTF-8?q?feat(packs-lab):=20docker-compose=20=EC=84=9C?= =?UTF-8?q?=EB=B9=84=EC=8A=A4=20+=20nginx=20=EB=9D=BC=EC=9A=B0=ED=8C=85=20?= =?UTF-8?q?(5GB=20body=20limit)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 22 ++++++++++++++++++++++ nginx/default.conf | 24 ++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index c978510..fa6823b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -175,6 +175,28 @@ services: timeout: 5s retries: 3 + packs-lab: + build: + context: ./packs-lab + container_name: packs-lab + restart: unless-stopped + ports: + - "18910: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} + volumes: + - ${RUNTIME_PATH:-.}/media/packs:/volume1/docker/webpage/media/packs + healthcheck: + test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"] + interval: 30s + timeout: 5s + retries: 3 + travel-proxy: build: ./travel-proxy container_name: travel-proxy diff --git a/nginx/default.conf b/nginx/default.conf index 2ddc6d1..aa85690 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -190,6 +190,30 @@ server { proxy_pass http://$personal_backend$request_uri; } + # packs-lab — admin upload (5GB body limit, request buffering off) + location ^~ /api/packs/upload { + resolver 127.0.0.11 valid=10s; + set $packs_backend packs-lab:8000; + client_max_body_size 5G; + proxy_request_buffering off; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_pass http://$packs_backend$request_uri; + proxy_read_timeout 1800s; + proxy_send_timeout 1800s; + } + + # packs-lab — 사용자 다운로드 + list/sign-link + location /api/packs/ { + resolver 127.0.0.11 valid=10s; + set $packs_backend packs-lab:8000; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_pass http://$packs_backend$request_uri; + } + # agent-office API + WebSocket location /api/agent-office/ { resolver 127.0.0.11 valid=10s;