version: '3.8'

services:
  mediawiki:
    image: mediawiki:latest
    container_name: mediawiki
    environment:
      MEDIAWIKI_DB_HOST: db-mediawiki
      MEDIAWIKI_DB_NAME: mediawiki
      MEDIAWIKI_DB_USER: wikiuser
      MEDIAWIKI_DB_PASSWORD: password
    ports:
      - "8081:80"
    depends_on:
      - db-mediawiki
    volumes:
      - mediawiki_data:/var/www/html/images

  db-mediawiki:
    image: mysql:5.7
    container_name: db-mediawiki
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: mediawiki
      MYSQL_USER: wikiuser
      MYSQL_PASSWORD: password
    volumes:
      - db_mediawiki_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    container_name: wordpress
    environment:
      WORDPRESS_DB_HOST: db-wordpress
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: password
      WORDPRESS_DB_NAME: wordpress
    ports:
      - "8082:80"
    depends_on:
      - db-wordpress
    volumes:
      - wordpress_data:/var/www/html

  db-wordpress:
    image: mysql:5.7
    container_name: db-wordpress
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: password
    volumes:
      - db_wordpress_data:/var/lib/mysql

  redmine:
    image: redmine:latest
    container_name: redmine
    environment:
      REDMINE_DB_MYSQL: db-redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: password
      REDMINE_DB_DATABASE: redmine
    ports:
      - "8083:3000"
    depends_on:
      - db-redmine
    volumes:
      - redmine_data:/usr/src/redmine/files

  db-redmine:
    image: mysql:5.7
    container_name: db-redmine
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: redmine
      MYSQL_USER: redmine
      MYSQL_PASSWORD: password
    volumes:
      - db_redmine_data:/var/lib/mysql

volumes:
  mediawiki_data:
  db_mediawiki_data:
  wordpress_data:
  db_wordpress_data:
  redmine_data:
  db_redmine_data: