services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:80"
#      - "9004:9004"  # Xdebug port
    restart: unless-stopped
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DEBUG: 1
      XDEBUG_CONFIG: "client_host=host.docker.internal client_port=9004 idekey=PHPSTORM"
      PHP_IDE_CONFIG: "serverName=shown-connector"
    volumes:
      - wordpress_data:/var/www/html
      - .:/var/www/html/wp-content/plugins/shown-connector
      - ./docker/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

  wpcli:
    depends_on:
      - wordpress
      - db
    image: wordpress:cli-2.8
    user: "33:33"  # www-data user
    volumes:
      - wordpress_data:/var/www/html
      - .:/var/www/html/wp-content/plugins/shown-connector
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    working_dir: /var/www/html
    command: tail -f /dev/null  # Keep container running

  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: unless-stopped
    ports:
      - "8181:80"
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: wordpress

volumes:
  db_data:
  wordpress_data:
