From 0c923401bf0e66e1eaa27be51a2c49e2bbec7416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Mon, 23 Feb 2026 21:32:51 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20[docker]=20tenant=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=EC=86=8C=EB=A5=BC=20shared-storage=EC=97=90=EC=84=9C?= =?UTF-8?q?=20mng/storage/app/tenants=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-compose: shared-storage 볼륨 마운트 제거 - entrypoint: storage/app/tenants 디렉토리 생성으로 변경 - nginx: tenant-storage alias 경로 변경 --- sam/docker/docker-compose.yml | 2 +- sam/docker/mng/entrypoint.sh | 19 +++++++++++++++++++ sam/docker/mng/nginx.conf | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100755 sam/docker/mng/entrypoint.sh create mode 100755 sam/docker/mng/nginx.conf diff --git a/sam/docker/docker-compose.yml b/sam/docker/docker-compose.yml index 49959b9..e89b1e8 100644 --- a/sam/docker/docker-compose.yml +++ b/sam/docker/docker-compose.yml @@ -85,7 +85,7 @@ services: - ./mysql/client-skip-ssl.cnf:/etc/mysql/conf.d/disable-ssl.cnf:ro - ../sales/apikey:/var/www/sales/apikey:ro # Google 서비스 계정 파일 접근용 - ../sales:/var/www/sales-docs:ro # 영업 PPTX 문서 접근용 - - ../shared-storage:/var/www/shared-storage # 테넌트 파일 공유 스토리지 + # shared-storage 제거됨 → mng/storage/app/tenants 로 이동 (2026-02-23) - ../docs:/var/www/docs:ro # SAM 프로젝트 문서 (RAG 검색용) environment: - DB_HOST=sam-mysql-1 diff --git a/sam/docker/mng/entrypoint.sh b/sam/docker/mng/entrypoint.sh new file mode 100755 index 0000000..f5dcbc9 --- /dev/null +++ b/sam/docker/mng/entrypoint.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# 0. Nginx 기본 사이트 설정 비활성화 (충돌 방지) +rm -f /etc/nginx/sites-enabled/default + +# 1. 퍼미션 설정 (mng) +chown -R www-data:www-data /var/www/mng/storage /var/www/mng/bootstrap/cache +chmod -R 775 /var/www/mng/storage /var/www/mng/bootstrap/cache + +# 2. tenant storage 퍼미션 (명함/신분증/통장/게시판 첨부파일 등) +mkdir -p /var/www/mng/storage/app/tenants +chown -R www-data:www-data /var/www/mng/storage/app/tenants +chmod -R 775 /var/www/mng/storage/app/tenants + +# 3. storage:link (실패해도 무시) +cd /var/www/mng && php artisan storage:link || true + +# 4. supervisor 실행(nginx+php-fpm) +exec /usr/bin/supervisord \ No newline at end of file diff --git a/sam/docker/mng/nginx.conf b/sam/docker/mng/nginx.conf new file mode 100755 index 0000000..32136d4 --- /dev/null +++ b/sam/docker/mng/nginx.conf @@ -0,0 +1,32 @@ +server { + listen 80; + server_name _; + + root /var/www/mng/public; + index index.php index.html; + + access_log /var/log/nginx/mng_access.log; + error_log /var/log/nginx/mng_error.log; + + # 심볼릭 링크 허용 + disable_symlinks off; + + # tenant-storage 정적 파일 서빙 + location /tenant-storage/ { + alias /var/www/mng/storage/app/tenants/; + expires 7d; + add_header Cache-Control "public, immutable"; + } + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location ~ \.php$ { + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include fastcgi_params; + fastcgi_read_timeout 300s; + } +} \ No newline at end of file