networks: isdowndetectordown: driver: bridge services: web: build: . container_name: isdowndetectordown ports: - "${APP_PORT:-8080}:80" volumes: - ./src:/var/www/html/src - ./schema:/var/www/html/schema environment: - ENVIRONMENT=${ENVIRONMENT:-production} - APP_DEBUG=${APP_DEBUG:-false} - DB_HOST=db - DB_NAME=${DB_NAME:-isdowndetectordown} - DB_USER=root - DB_PASS=${DB_PASS:-root} - START_YEAR=${START_YEAR:-2025} depends_on: db: condition: service_healthy networks: - isdowndetectordown restart: unless-stopped db: image: mariadb:10.4 container_name: isdowndetectordown-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_PASS:-root} MYSQL_DATABASE: ${DB_NAME:-isdowndetectordown} volumes: - ./database:/var/lib/mysql - ./schema/isdowndetectordown.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_PASS:-root}"] interval: 10s timeout: 5s retries: 5 networks: - isdowndetectordown phpmyadmin: image: phpmyadmin:latest container_name: isdowndetectordown-phpmyadmin restart: unless-stopped ports: - "${PMA_PORT:-8081}:80" environment: PMA_HOST: db PMA_PORT: 3306 MYSQL_ROOT_PASSWORD: ${DB_PASS:-root} depends_on: - db networks: - isdowndetectordown