add docker for local and production

This commit is contained in:
2025-06-10 22:29:30 +07:00
parent 84fb7ffb52
commit f92655e3e2
1449 changed files with 3115 additions and 0 deletions

74
docker-compose.prod.yml Normal file
View File

@@ -0,0 +1,74 @@
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
ports:
- "80:80"
environment:
- APP_ENV=production
- APP_DEBUG=false
depends_on:
- db
- redis
networks:
- ckb-network
db:
image: mysql:8.0
container_name: ckb-mysql-prod
restart: unless-stopped
environment:
MYSQL_DATABASE: ckb_production
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_USER: ${DB_USERNAME}
volumes:
- mysql_data:/var/lib/mysql
- ./docker/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
ports:
- "3306:3306"
networks:
- ckb-network
redis:
image: redis:7-alpine
container_name: ckb-redis-prod
restart: unless-stopped
command: redis-server --appendonly yes --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