services: #объявляем наши сервисы
  wp: #объявляем сервис для wordpress и теперь настраиваем его
    image: "wordpress" # объявляем, что для данного сервиса нужен образ wordpress, который будет скачан с удаленного репозитория докера
    restart: "on-failure" # устанавливаем настройку, которая будет перезагружать контейнер в случае возникновения ошибки при его работе
    ports: # объявляем порты связывающие наш хост и контейнер, запись имеет вид порт_хоста : порт_контейнера
      - "8000:80" # через порт 8000 хоста можно будет обращаться к порту 80 данного контейнера
    environment: # назначаем переменные текущего контейнера
      WORDPRESS_DB_HOST: wordpress_db #переменная бд
      WORDPRESS_DB_USER: exampleuser #переменная пользователя бд
      WORDPRESS_DB_PASSWORD: examplepass # переменная пароля пользлователя
      WORDPRESS_DB_NAME: exampledb #переменная названия бд
    volumes: #объявляем тома, которые будут использоваться в контейнере
      - wordpress:/var/www/html #назначаем том wordpress
  git: ##объявляем сервис для gitea и теперь настраиваем его
    image: "gitea/gitea:1.22.3" # назначаем образ
    restart: "on-failure" # устанавливаем настройку на перезагрузку контейнера в случае ошибки
    environment: # назначаем переменные текущего контейнера
      - USER_UID=1000 # переменная id пользователя
      - USER_GID=1000 # переменная id группы пользователей
  wordpress_db: #объявляем сервис бд для сервиса wordpress
    image: "mysql:8.0" # назначаем в качестве образа образ mysql
    restart: "always" # устанавливаем перезагрузку сервиса при любом окончании работы контейнера
    environment: # назначаем переменные текущего контейнера
      MYSQL_DATABASE: exampledb # переменна бд
      MYSQL_USER: exampleuser # переменная пользователя бд
      MYSQL_PASSWORD: examplepass # переменная пароля бд
      MYSQL_RANDOM_ROOT_PASSWORD: '1' # переменная случайного пароля рут пользователя
    volumes: # устанавливаем тома
      - db:/var/lib/mysql # назначаем том бд
  wiki: # объявляем сервис mediawiki
    image: mediawiki # назначаем образ
    volumes: # объявляем тома
      - database:/var/www/data # объявляем том для бд
      - ./html:/var/www/html:cached # объявляем еще том верстки
volumes: #объявляем тома, которые могут использоваться сразу несколькими сервисами
  wordpress: #том для wordpress
  db: # том для бд wordpress
  database: # том для бд вики