services: app: build: context: . dockerfile: Dockerfile.rebuild restart: unless-stopped environment: APP_URL: ${APP_URL:-http://localhost} APP_ENV: ${APP_ENV:-production} APP_DEBUG: ${APP_DEBUG:-false} APP_KEY: ${APP_KEY} DB_HOST: db DB_PORT: 3306 DB_USER: ${DB_USER:-spota_user} DB_PASSWORD: ${DB_PASSWORD:-spota_password} DB_NAME: ${DB_NAME:-spota_spotadb} DB_SPOTA: ${DB_SPOTA:-spota_spotadb} DB_KONSULTASI: ${DB_KONSULTASI:-spota_konsultasi} DB_BIO: ${DB_BIO:-spota_spotadb} DB_DOSEN: ${DB_DOSEN:-spota_spotadb} SERVICE_DB_NAME: ${SERVICE_DB_NAME:-spota_spotadb} PHP_DISPLAY_ERRORS: ${PHP_DISPLAY_ERRORS:-0} FILES_STORAGE_PATH: ${FILES_STORAGE_PATH:-/var/www/html/storage/app/files} volumes: - spota_storage:/var/www/html/storage depends_on: db: condition: service_healthy db: build: context: . dockerfile: docker/mysql/Dockerfile restart: unless-stopped command: --default-authentication-plugin=mysql_native_password --character-set-server=latin1 --collation-server=latin1_swedish_ci --sql-mode=NO_ENGINE_SUBSTITUTION environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root_password} MYSQL_USER: ${DB_USER:-spota_user} MYSQL_PASSWORD: ${DB_PASSWORD:-spota_password} MYSQL_DATABASE: ${DB_NAME:-spota_spotadb} volumes: - spota_db_data:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h localhost -uroot -p$${MYSQL_ROOT_PASSWORD}"] interval: 10s timeout: 5s retries: 20 volumes: spota_db_data: spota_storage: