services:
  mediawiki:  # Определение сервиса MediaWiki
    image: mediawiki:1.35  # Используемый образ MediaWiki версии 1.35
    ports:  # Настройка портов
      - "8080:80"  
    containername: mediawiki  # Имя контейнера
    volumes:  # Настройка томов
      - mediawiki_data:/var/www/html/images  

  db_wordpress:  # Определение сервиса MySQL для WordPress
    image: mysql:5.7  # Используемый образ MySQL версии 5.7
    containername: wp_database  # Имя контейнера
    environment:  # Переменные окружения
      MYSQLROOTPASSWORD: rootsecret  
      MYSQLDATABASE: ${DBNAME}  
      MYSQLUSER: ${DBUSER}  
      MYSQLPASSWORD: ${DBPASSWORD}  
    volumes:  # Настройка томов
      - db_wordpress_data:/var/lib/mysql  

  wordpress:  # Определение сервиса WordPress
    image: wordpress:latest  # Используемый образ WordPress последней версии
    containername: wp_app  # Имя контейнера
    restart: always  
    ports:  # Настройка портов
      - "8000:80"  
    user: www-data  
    environment:  # Переменные окружения
      WORDPRESSDBHOST: ${DBHOST}  
      WORDPRESSDBUSER: ${DBUSER}  
      WORDPRESSDBPASSWORD: ${DBPASSWORD}  
      WORDPRESSDBNAME: ${DBNAME} 
      WORDPRESSADMINUSER: admin  
      WORDPRESSADMINPASSWORD: adminpassword  
      WORDPRESSADMINEMAIL: admin@example.com  
    volumes:  # Настройка томов
      - wordpress_data:/var/www/html  
    dependson:  # Зависимости
      - db_wordpress  # Зависит от сервиса MySQL

  redmine:  # Определение сервиса Redmine
    image: redmine:latest  # Используемый образ Redmine последней версии
    containername: redmine  # Имя контейнера
    ports:  # Настройка портов
      - "3000:3000"  
    volumes:  # Настройка томов
      - redmine_data:/usr/src/redmine/files  

volumes:  # Определение томов
  mediawiki_data:  # ТОМ для MediaWiki
  wordpress_data:  # ТОМ для WordPress
  db_wordpress_data:  # ТОМ для MySQL
  redmine_data:  # ТОМ для Redmine