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 - storage_logs:/var/www/html/storage/logs - storage_cache:/var/www/html/storage/framework environment: - APP_ENV=production - APP_DEBUG=false - APP_URL=https://bengkel.digitaloasis.xyz - TRUSTED_PROXIES=* depends_on: - db - redis networks: - ckb-network db: image: mariadb:10.6 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 - ./ckb.sql:/docker-entrypoint-initdb.d/01-init.sql:ro - ./docker/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro expose: - "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 expose: - "6379" networks: - ckb-network nginx-proxy: image: nginx:alpine container_name: ckb-nginx-proxy restart: unless-stopped ports: - "8082:80" - "8444:443" volumes: - ./docker/nginx-proxy.conf:/etc/nginx/nginx.conf:ro - ssl_certificates:/etc/nginx/ssl:ro - certbot_www:/var/www/certbot:ro - nginx_logs:/var/log/nginx depends_on: - app networks: - ckb-network environment: - DOMAIN=bengkel.digitaloasis.xyz certbot: image: certbot/certbot container_name: ckb-certbot restart: "no" volumes: - ssl_certificates:/etc/letsencrypt - certbot_www:/var/www/certbot command: certonly --webroot --webroot-path=/var/www/certbot --email admin@digitaloasis.xyz --agree-tos --no-eff-email -d bengkel.digitaloasis.xyz -d www.bengkel.digitaloasis.xyz depends_on: - nginx-proxy networks: - ckb-network volumes: mysql_data: driver: local redis_data: driver: local ssl_certificates: driver: local certbot_www: driver: local nginx_logs: driver: local storage_logs: driver: local storage_cache: driver: local networks: ckb-network: driver: bridge