# Версия файла docker-compose, которую мы используем version: '3.8' # Определение сервисов # Все последующие готовые образы в services будут взяты с Docker Hub -> image: название:версия # Далее в services будут использоваться переменные окружения из .env -> ${Переменная_среды} # Схема пробросов портов -> ports: внешний порт на хосте:внутренний порт в контейнере services: db: image: postgres:latest # Готовый образ postgres environment: - POSTGRES_DB=${POSTGRES_DB} # Имя БД - POSTGRES_USER=${POSTGRES_USER} # Пользователь БД - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Пароль пользователя БД volumes: - db_data:/var/lib/postgresql/data # Монтирование volume для постоянного хранения данных БД mediawiki: image: mediawiki:latest # Готовый образ mediawiki ports: - "${MEDIAWIKI_PORT}:80" # Проброс порта volumes: - mediawiki_data:/var/www/html # Монтирование volume для постоянного хранения данных environment: - MEDIAWIKI_DB_HOST=db # Хост БД - MEDIAWIKI_DB_NAME=${MEDIAWIKI_DB_NAME} # Имя БД для MediaWiki - MEDIAWIKI_DB_USER=${MEDIAWIKI_DB_USER} # Пользователь БД - MEDIAWIKI_DB_PASSWORD=${MEDIAWIKI_DB_PASSWORD} # Пароль пользователя БД gitea: image: gitea/gitea:latest # Готовый образ gitea ports: - "${GITEA_WEB_PORT}:3000" # Проброс веб-порта - "${GITEA_SSH_PORT}:22" # Проброс SSH-порта volumes: - gitea_data:/data # Монтирование volume для постоянного хранения данных environment: - USER_UID=1000 # UID пользователя внутри контейнера - USER_GID=1000 # GID пользователя внутри контейнера # Определение volumes для хранения данных вне контейнеров volumes: mediawiki_data: wordpress_data: gitea_data: db_data: