services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - '${APP_PORT:-80}:80'
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: password
      WORDPRESS_DB_NAME: wp
      WORDPRESS_DEBUG: true
    networks:
      - wordpress
    volumes:
      - wordpress:/var/www/html
      - '.:/var/www/html/wp-content/plugins/no-updates'
    depends_on:
      - mysql

  mysql:
    image: mysql:8.0
    ports:
      - '${FORWARD_DB_PORT:-3306}:3306'
    restart: always
    environment:
      MYSQL_DATABASE: wp
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: password
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - mysql:/var/lib/mysql
    networks:
      - wordpress
    healthcheck:
      test:
        - CMD
        - mysqladmin
        - ping
        - '-ppassword'
      retries: 3
      timeout: 5s

  phpmyadmin:
    depends_on:
      - mysql
    image: phpmyadmin/phpmyadmin
    environment:
      - PMA_HOST=mysql
      - PMO_PORT=3306
    networks:
      - wordpress
    ports:
      - 8001:80

networks:
  wordpress:
    driver: bridge

volumes:
  wordpress:
  mysql:
