version: '3.7'

services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    volumes:
      - wordpress_data:/var/www/html
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: password
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mysql:latest
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: dbpassword
      MYSQL_ROOT_PASSWORD: rootpassword
    restart: unless-stopped

  rabbitmq:
    image: rabbitmq:3-management
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - rabbitmq_data:/var/lib/rabbitmq
    environment:
      RABBITMQ_DEFAULT_USER: guest
      RABBITMQ_DEFAULT_PASS: password
    restart: unless-stopped

  mediawiki:
    image: mediawiki:latest
    ports:
      - "8081:80"
    volumes:
      - mediawiki_data:/var/www/html
    environment:
      MW_DB_SERVER: db
      MW_DB_NAME: mediawiki
      MW_DB_USER: mediawiki
      MW_DB_PASSWORD: mediawiki_password
    depends_on:
      - db
    restart: unless-stopped

volumes:
  wordpress_data:
  db_data:
  rabbitmq_data:
  mediawiki_data: