version: '3.8' # Определение сервисов services: # Сервис базы данных PostgreSQL db: image: postgres:latest # Готовый образ PostgreSQL container_name: postgres_db restart: always environment: - POSTGRES_DB=${POSTGRES_DB:-mydb} # Имя БД - POSTGRES_USER=${POSTGRES_USER:-admin} # Пользователь БД - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-admin} # Пароль пользователя БД volumes: - db_data:/var/lib/postgresql/data # Монтирование тома для хранения данных БД networks: - app_network # Сервис Gitea gitea: image: gitea/gitea:latest # Готовый образ Gitea container_name: gitea restart: always ports: - "${GITEA_WEB_PORT:-3000}:3000" # Проброс веб-порта - "${GITEA_SSH_PORT:-2222}:22" # Проброс SSH-порта volumes: - gitea_data:/data # Монтирование тома для постоянного хранения данных environment: - USER_UID=1000 # UID пользователя внутри контейнера - USER_GID=1000 # GID пользователя внутри контейнера - DB_TYPE=postgres - DB_HOST=db:5432 - DB_NAME=${POSTGRES_DB:-mydb} - DB_USER=${POSTGRES_USER:-admin} - DB_PASSWD=${POSTGRES_PASSWORD:-admin} depends_on: - db # Gitea запускается после PostgreSQL networks: - app_network # Сервис MediaWiki mediawiki: image: mediawiki:latest # Готовый образ MediaWiki container_name: mediawiki restart: always ports: - "${MEDIAWIKI_PORT:-8080}:80" # Проброс порта volumes: - mediawiki_data:/var/www/html # Монтирование тома для постоянного хранения данных environment: - MEDIAWIKI_DB_HOST=db # Хост базы данных - MEDIAWIKI_DB_NAME=${POSTGRES_DB:-mydb} # Имя БД для MediaWiki - MEDIAWIKI_DB_USER=${POSTGRES_USER:-admin} # Пользователь БД - MEDIAWIKI_DB_PASSWORD=${POSTGRES_PASSWORD:-admin} # Пароль пользователя БД depends_on: - db # MediaWiki запускается после PostgreSQL networks: - app_network # Определение volumes для хранения данных вне контейнеров volumes: db_data: gitea_data: mediawiki_data: