version: '3'

services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: example_user
      WORDPRESS_DB_PASSWORD: example_password
      WORDPRESS_DB_NAME: example_db
    volumes:
      - wordpress_data:/var/www/html
    depends_on:
      - db

  db:
    image: mysql:5.7
    container_name: wordpress_db
    environment:
      MYSQL_DATABASE: example_db
      MYSQL_USER: example_user
      MYSQL_PASSWORD: example_password
      MYSQL_ROOT_PASSWORD: root_password
    volumes:
      - db_data:/var/lib/mysql

  redmine:
    image: redmine:latest
    container_name: redmine
    ports:
      - "8081:3000"
    environment:
      REDMINE_DB_MYSQL: redmine_db
      REDMINE_DB_USERNAME: redmine_user
      REDMINE_DB_PASSWORD: redmine_password
    depends_on:
      - redmine_db

  redmine_db:
    image: mysql:5.7
    container_name: redmine_db
    environment:
      MYSQL_DATABASE: redmine
      MYSQL_USER: redmine_user
      MYSQL_PASSWORD: redmine_password
      MYSQL_ROOT_PASSWORD: root_password
    volumes:
      - redmine_db_data:/var/lib/mysql

  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    ports:
      - "8082:3000"
    environment:
      - USER_UID=1000
      - USER_GID=1000
    volumes:
      - gitea_data:/data

volumes:
  wordpress_data:
  db_data:
  redmine_db_data:
  gitea_data: