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