services: mariadb: image: mariadb:10.6.25 volumes: - mariadb_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 10 start_period: 60s restart: unless-stopped app: build: context: . dockerfile: Dockerfile volumes: - app-storage:/var/www/html/storage - app-photos:/var/www/html/public/photos environment: APP_ENV: production APP_DEBUG: "false" APP_URL: ${APP_URL} APP_KEY: ${APP_KEY} DB_HOST: mariadb DB_PORT: "3306" DB_DATABASE: ${DB_DATABASE} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} SESSION_DRIVER: database QUEUE_CONNECTION: database CACHE_STORE: database LOG_CHANNEL: stack LOG_LEVEL: warning depends_on: mariadb: condition: service_healthy restart: unless-stopped nginx: build: context: . dockerfile: Dockerfile.nginx volumes: - app-photos:/var/www/html/public/photos:ro ports: - "${NGINX_PORT:-80}:80" depends_on: - app restart: unless-stopped volumes: mariadb_data: app-storage: app-photos: