chore:API Docker 환경 설정 (Queue Worker, Scheduler, OPcache 추가)
- supervisord.conf에 queue-worker 1개 + scheduler 추가 - opcache.ini 생성 (MNG 설정과 동일, 256MB) - docker-compose.yml에 opcache.ini 볼륨 마운트 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
223
sam/docker/docker-compose.yml
Normal file
223
sam/docker/docker-compose.yml
Normal file
@@ -0,0 +1,223 @@
|
||||
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 서비스 계정 파일 접근용
|
||||
- ../shared-storage:/var/www/shared-storage # 테넌트 파일 공유 스토리지
|
||||
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
|
||||
Reference in New Issue
Block a user