From 0be5693aee9b23e945df6868c91ff8b68477825a Mon Sep 17 00:00:00 2001 From: gahusb Date: Mon, 6 Apr 2026 08:32:08 +0900 Subject: [PATCH] =?UTF-8?q?infra:=20realestate-lab=20Docker/Nginx/?= =?UTF-8?q?=EB=B0=B0=ED=8F=AC=20=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20?= =?UTF-8?q?=ED=86=B5=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- docker-compose.yml | 20 ++++++++++++++++++++ nginx/default.conf | 10 ++++++++++ scripts/deploy-nas.sh | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index c242bee..bec708d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -89,6 +89,25 @@ services: timeout: 5s retries: 3 + realestate-lab: + build: + context: ./realestate-lab + container_name: realestate-lab + restart: unless-stopped + ports: + - "18800:8000" + environment: + - TZ=${TZ:-Asia/Seoul} + - DATA_GO_KR_API_KEY=${DATA_GO_KR_API_KEY:-} + - CORS_ALLOW_ORIGINS=${CORS_ALLOW_ORIGINS:-http://localhost:3007,http://localhost:8080} + volumes: + - ${REALESTATE_DATA_PATH:-./data/realestate}:/app/data + 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 @@ -119,6 +138,7 @@ services: depends_on: - music-lab - blog-lab + - realestate-lab ports: - "8080:80" volumes: diff --git a/nginx/default.conf b/nginx/default.conf index 8496087..5284dc3 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -42,6 +42,16 @@ server { proxy_pass http://$music_backend$request_uri; } + # realestate API + location /api/realestate/ { + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://realestate-lab:8000/api/realestate/; + } + # travel thumbnails (generated by travel-proxy, stored in /data/thumbs) location ^~ /media/travel/.thumb/ { alias /data/thumbs/; diff --git a/scripts/deploy-nas.sh b/scripts/deploy-nas.sh index 2645adc..f6b11ed 100644 --- a/scripts/deploy-nas.sh +++ b/scripts/deploy-nas.sh @@ -32,7 +32,7 @@ cd "$SRC" # backend, travel-proxy, deployer, nginx, scripts, docker-compose.yml, .env 등 RSYNC_EXCLUDES="--exclude .git --exclude __pycache__ --exclude *.pyc --exclude data/" -for dir in backend travel-proxy deployer stock-lab music-lab blog-lab nginx scripts; do +for dir in backend travel-proxy deployer stock-lab music-lab blog-lab realestate-lab nginx scripts; do rsync -a --delete $RSYNC_EXCLUDES \ "$SRC/$dir/" "$DST/$dir/" done