Skip to content

Xampp

This is the Docker Compose configuration for Xampp.

yaml
services:
  db:
    image: mysql:8.0
    container_name: xampp-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: mydb
      MYSQL_USER: user
      MYSQL_PASSWORD: userpass
    command:
      [
        "--default_authentication_plugin=mysql_native_password",
        "--skip-ssl",
        "--require_secure_transport=OFF",
        "--bind-address=0.0.0.0",
      ]
    ports:
      - "3306:3306"
    volumes:
      - db_data:/var/lib/mysql
    healthcheck:
      test:
        ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-prootpass"]
      interval: 5s
      timeout: 5s
      retries: 10

  web:
    build: .
    container_name: xampp-web
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "8080:80"
    environment:
      MYSQL_HOST: db
      MYSQL_USER: user
      MYSQL_PASSWORD: userpass
      MYSQL_DATABASE: mydb
    volumes:
      - ./app:/var/www/html

volumes:
  db_data: