- docker-compose: shared-storage 볼륨 마운트 제거 - entrypoint: storage/app/tenants 디렉토리 생성으로 변경 - nginx: tenant-storage alias 경로 변경
226 lines
6.6 KiB
YAML
226 lines
6.6 KiB
YAML
services:
|
|
nginx:
|
|
image: nginx:latest
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- /home/aweso/sam/api:/var/www/api
|
|
- /home/aweso/sam/admin:/var/www/admin
|
|
- /home/aweso/sam/mng:/var/www/mng
|
|
- /home/aweso/sam/5130:/var/www/5130
|
|
- /home/aweso/sam/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
|
- /home/aweso/sam/docker/nginx/ssl:/etc/nginx/ssl:ro
|
|
command: >
|
|
sh -c "rm -f /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
|
|
depends_on:
|
|
- api
|
|
- admin
|
|
- mng
|
|
- react
|
|
- design
|
|
- sales
|
|
- php73
|
|
networks:
|
|
- samnet
|
|
|
|
api:
|
|
build:
|
|
context: .
|
|
dockerfile: /home/aweso/sam/docker/api/Dockerfile
|
|
volumes:
|
|
- /home/aweso/sam/api:/var/www/api
|
|
- api_vendor:/var/www/api/vendor
|
|
- api_node_modules:/var/www/api/node_modules
|
|
- /home/aweso/sam/docker/api/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
- /home/aweso/sam/docker/api/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
|
|
- /home/aweso/sam/docker/api/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
|
|
- /home/aweso/sam/docker/api/opcache.ini:/usr/local/etc/php/conf.d/opcache.ini
|
|
- /home/aweso/sam/docker/mysql/client-skip-ssl.cnf:/etc/mysql/conf.d/disable-ssl.cnf:ro
|
|
environment:
|
|
- DB_HOST=sam-mysql-1
|
|
- DB_PORT=3306
|
|
- DB_DATABASE=samdb
|
|
- DB_USERNAME=samuser
|
|
- DB_PASSWORD=sampass
|
|
networks:
|
|
- samnet
|
|
working_dir: /var/www/api
|
|
|
|
admin:
|
|
build:
|
|
context: .
|
|
dockerfile: /home/aweso/sam/docker/admin/Dockerfile
|
|
volumes:
|
|
- /home/aweso/sam/admin:/var/www/admin
|
|
- admin_vendor:/var/www/admin/vendor
|
|
- admin_node_modules:/var/www/admin/node_modules
|
|
- /home/aweso/sam/docker/admin/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
- /home/aweso/sam/docker/admin/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
|
|
- /home/aweso/sam/docker/admin/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
|
|
environment:
|
|
- DB_HOST=sam-mysql-1
|
|
- DB_PORT=3306
|
|
- DB_DATABASE=samdb
|
|
- DB_USERNAME=samuser
|
|
- DB_PASSWORD=sampass
|
|
networks:
|
|
- samnet
|
|
working_dir: /var/www/admin
|
|
|
|
mng:
|
|
build:
|
|
context: .
|
|
dockerfile: mng/Dockerfile
|
|
volumes:
|
|
- ../mng:/var/www/mng
|
|
- mng_vendor:/var/www/mng/vendor
|
|
- mng_node_modules:/var/www/mng/node_modules
|
|
- ./mng/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
- ./mng/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
|
|
- ./mng/opcache.ini:/usr/local/etc/php/conf.d/opcache.ini
|
|
- ./mng/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
|
|
# - ./mng/www.conf:/usr/local/etc/php-fpm.d/www.conf
|
|
- ../api/storage/logs:/var/www/api/storage/logs:ro
|
|
- ./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 제거됨 → mng/storage/app/tenants 로 이동 (2026-02-23)
|
|
- ../docs:/var/www/docs:ro # SAM 프로젝트 문서 (RAG 검색용)
|
|
environment:
|
|
- DB_HOST=sam-mysql-1
|
|
- DB_PORT=3306
|
|
- DB_DATABASE=samdb
|
|
- DB_USERNAME=samuser
|
|
- DB_PASSWORD=sampass
|
|
networks:
|
|
- samnet
|
|
working_dir: /var/www/mng
|
|
|
|
react:
|
|
build:
|
|
context: /home/aweso/sam
|
|
dockerfile: docker/react/Dockerfile
|
|
volumes:
|
|
- /home/aweso/sam/react:/app
|
|
- /app/node_modules
|
|
- /app/.next
|
|
environment:
|
|
- NEXT_PUBLIC_API_URL=https://api.sam.kr
|
|
- NEXT_PUBLIC_ADMIN_URL=https://admin.sam.kr
|
|
- NEXT_PUBLIC_API_KEY=42Jfwc6EaRQ04GNRmLR5kzJp5UudSOzGGqjmdk1a
|
|
- NEXT_PUBLIC_APP_NAME=SAM
|
|
- NODE_ENV=development
|
|
- NODE_TLS_REJECT_UNAUTHORIZED=0
|
|
extra_hosts:
|
|
- "api.sam.kr:host-gateway"
|
|
networks:
|
|
- samnet
|
|
working_dir: /app
|
|
|
|
design:
|
|
build:
|
|
context: /home/aweso/sam
|
|
dockerfile: docker/design/Dockerfile
|
|
volumes:
|
|
- /home/aweso/sam/design:/app
|
|
- /app/node_modules
|
|
environment:
|
|
- NODE_ENV=development
|
|
networks:
|
|
- samnet
|
|
working_dir: /app
|
|
|
|
sales:
|
|
build:
|
|
context: .
|
|
dockerfile: /home/aweso/sam/docker/sales/Dockerfile
|
|
volumes:
|
|
- /home/aweso/sam/sales:/var/www/sales
|
|
- sales_vendor:/var/www/sales/vendor
|
|
- sales_node_modules:/var/www/sales/node_modules
|
|
- /home/aweso/sam/docker/sales/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
- /home/aweso/sam/docker/sales/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
|
|
- /home/aweso/sam/docker/sales/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
|
|
environment:
|
|
- TZ=Asia/Seoul
|
|
networks:
|
|
- samnet
|
|
working_dir: /var/www/sales
|
|
|
|
php73:
|
|
build:
|
|
context: .
|
|
dockerfile: /home/aweso/sam/docker/5130/Dockerfile
|
|
volumes:
|
|
- /home/aweso/sam/5130:/var/www/5130
|
|
- php73_vendor:/var/www/5130/vendor
|
|
- php73_node_modules:/var/www/5130/node_modules
|
|
- /home/aweso/sam/docker/5130/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
- /home/aweso/sam/docker/5130/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
|
|
- /home/aweso/sam/docker/5130/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
|
|
environment:
|
|
- DB_HOST=sam-mysql-1
|
|
- DB_PORT=3306
|
|
- DB_DATABASE=chandj
|
|
- DB_USERNAME=root
|
|
- DB_PASSWORD=root
|
|
- TZ=Asia/Seoul
|
|
networks:
|
|
- samnet
|
|
working_dir: /var/www/5130
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
restart: always
|
|
environment:
|
|
MYSQL_DATABASE: samdb
|
|
MYSQL_USER: samuser
|
|
MYSQL_PASSWORD: sampass
|
|
MYSQL_ROOT_PASSWORD: root
|
|
TZ: Asia/Seoul
|
|
command: --sql-mode="NO_ENGINE_SUBSTITUTION" --default-time-zone="+09:00" --default-authentication-plugin=mysql_native_password
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
- /home/aweso/sam/docker/mysql/init.sql:/docker-entrypoint-initdb.d/01-init.sql
|
|
# - /home/aweso/sam/chandj_dump.sql:/docker-entrypoint-initdb.d/02-chandj-dump.sql
|
|
ports:
|
|
- "3306:3306"
|
|
networks:
|
|
- samnet
|
|
|
|
phpmyadmin:
|
|
image: phpmyadmin:latest
|
|
restart: always
|
|
ports:
|
|
- "8080:80"
|
|
environment:
|
|
- PMA_ARBITRARY=1
|
|
- PMA_HOST=mysql
|
|
- PMA_PORT=3306
|
|
- PMA_USER=root
|
|
- PMA_PASSWORD=root
|
|
- TZ=Asia/Seoul
|
|
depends_on:
|
|
- mysql
|
|
networks:
|
|
- samnet
|
|
|
|
volumes:
|
|
db_data:
|
|
# 의존성 디렉토리 분리 (성능 향상)
|
|
api_vendor:
|
|
api_node_modules:
|
|
mng_vendor:
|
|
mng_node_modules:
|
|
admin_vendor:
|
|
admin_node_modules:
|
|
sales_vendor:
|
|
sales_node_modules:
|
|
php73_vendor:
|
|
php73_node_modules:
|
|
|
|
networks:
|
|
samnet:
|
|
driver: bridge
|