services: app: build: context: . dockerfile: Dockerfile container_name: zeszyt_app depends_on: db: condition: service_healthy ports: - "8080:80" environment: APP_NAME: "${APP_NAME:-Zeszyt 2.0}" DB_HOST: db DB_NAME: "${MYSQL_DATABASE:-zeszyt}" DB_USER: "${MYSQL_USER:-zeszyt}" DB_PASS: "${MYSQL_PASSWORD:-zeszyt}" DB_PREFIX: "${DB_PREFIX:-xyz_}" MICROSOFT_OAUTH_ENABLED: "${MICROSOFT_OAUTH_ENABLED:-false}" MICROSOFT_OAUTH_TENANT: "${MICROSOFT_OAUTH_TENANT:-common}" MICROSOFT_OAUTH_CLIENT_ID: "${MICROSOFT_OAUTH_CLIENT_ID:-}" MICROSOFT_OAUTH_CLIENT_SECRET: "${MICROSOFT_OAUTH_CLIENT_SECRET:-}" MICROSOFT_OAUTH_REDIRECT_URI: "${MICROSOFT_OAUTH_REDIRECT_URI:-http://localhost:8080/oauth_callback.php}" MICROSOFT_OAUTH_ALLOWED_TENANT: "${MICROSOFT_OAUTH_ALLOWED_TENANT:-}" MICROSOFT_OAUTH_AUTO_PROVISION: "${MICROSOFT_OAUTH_AUTO_PROVISION:-false}" volumes: - ./source:/var/www/html - uploads_data:/var/www/html/uploads restart: unless-stopped db: image: mysql:8.0 container_name: zeszyt_db command: --default-authentication-plugin=mysql_native_password environment: MYSQL_DATABASE: "${MYSQL_DATABASE:-zeszyt}" MYSQL_USER: "${MYSQL_USER:-zeszyt}" MYSQL_PASSWORD: "${MYSQL_PASSWORD:-zeszyt}" MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:-root}" ports: - "3307:3306" volumes: - mysql_data:/var/lib/mysql - ./db/zeszyt.sql:/docker-entrypoint-initdb.d/01-init.sql:ro healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u${MYSQL_USER:-zeszyt}", "-p${MYSQL_PASSWORD:-zeszyt}"] interval: 10s timeout: 5s retries: 10 start_period: 20s restart: unless-stopped volumes: mysql_data: uploads_data: