Files
CKB/docker-compose.prod.yml
2025-06-11 13:43:24 +07:00

78 lines
1.8 KiB
YAML

services:
app:
build:
context: .
dockerfile: Dockerfile
container_name: ckb-app-prod
restart: unless-stopped
working_dir: /var/www/html
volumes:
- ./storage:/var/www/html/storage
- ./bootstrap/cache:/var/www/html/bootstrap/cache
- ./docker/php.ini:/usr/local/etc/php/conf.d/local.ini
ports:
- "80:80"
environment:
- APP_ENV=production
- APP_DEBUG=false
depends_on:
- db
- redis
networks:
- ckb-network
db:
image: mysql:8.0
platform: linux/amd64
container_name: ckb-mysql-prod
restart: unless-stopped
environment:
MYSQL_DATABASE: ${DB_DATABASE:-ckb_production}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootpassword}
MYSQL_PASSWORD: ${DB_PASSWORD:-password}
MYSQL_USER: ${DB_USERNAME:-laravel}
volumes:
- mysql_data:/var/lib/mysql
- ./docker/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro
ports:
- "3306:3306"
networks:
- ckb-network
command: --default-authentication-plugin=mysql_native_password
redis:
image: redis:7-alpine
container_name: ckb-redis-prod
restart: unless-stopped
command: redis-server --appendonly yes ${REDIS_PASSWORD:+--requirepass $REDIS_PASSWORD}
volumes:
- redis_data:/data
ports:
- "6379:6379"
networks:
- ckb-network
nginx-proxy:
image: nginx:alpine
container_name: ckb-nginx-proxy
restart: unless-stopped
ports:
- "443:443"
volumes:
- ./docker/nginx-proxy.conf:/etc/nginx/nginx.conf
- ./docker/ssl:/etc/nginx/ssl
depends_on:
- app
networks:
- ckb-network
volumes:
mysql_data:
driver: local
redis_data:
driver: local
networks:
ckb-network:
driver: bridge