services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DEBUG: "1"
    volumes:
      - wordpress_data:/var/www/html
      - .:/var/www/html/wp-content/plugins/wp-blogcard
    depends_on:
      - db

  db:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_ROOT_PASSWORD: root
    volumes:
      - db_data:/var/lib/mysql

  # PHP container for running tests and linting
  php:
    image: composer:latest
    working_dir: /app
    volumes:
      - .:/app
    entrypoint: [""]
    command: ["echo", "Use 'docker compose run php <command>' to run commands"]

volumes:
  wordpress_data:
  db_data:
