services:
  postgres:
    image: postgres:16.4
    ports:
      - "5433:5432"
    environment:
      POSTGRES_USER: redmine
      POSTGRES_PASSWORD: redminepass
      POSTGRES_DB: redmine
    volumes:
      - ./postgres_data:/var/lib/postgresql/data  # Volume для хранения данных PostgreSQL
    restart: always

  redmine:
    image: redmine:latest
    ports:
      - "3003:3000"
    volumes:
      - ./redmine_data:/usr/src/redmine/files  # Volume для хранения данных Redmine
    environment:
      REDMINE_DB_POSTGRES: postgres  # Имя сервиса базы данных
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: redminepass
      REDMINE_DB_DATABASE: redmine
    depends_on:
      - postgres
    restart: always

  gitea:
    image: gitea/gitea:1.22.2
    ports:
      - "3002:3000"  # Проброс порта для доступа к Gitea
    volumes:
      - ./gitea_data:/data  # Volume для хранения данных Gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=postgres:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea_password
    depends_on:
      - postgres
    restart: always