services:
  php-fpm:
    container_name: invoiceshelf-dev-php
    build:
      context: ../../
      dockerfile: docker/development/Dockerfile
      args:
        - UID=${USRID:-1000}
        - GID=${GRPID:-1000}
      target: development
    volumes:
      - ../../:/var/www/html
    networks:
      - invoiceshelf-dev

  nginx:
    container_name: invoiceshelf-dev-nginx
    build:
      context: ../../
      dockerfile: docker/development/nginx.Dockerfile
    environment:
      - "PHP_FPM_HOST=php-fpm:9000"
    ports:
      - '80:80'
    volumes:
      - ../../:/var/www/html
    networks:
      invoiceshelf-dev:
        aliases:
          - invoiceshelf.test

  db:
    image: mariadb:10.9
    container_name: invoiceshelf-dev-mysql
    environment:
      MYSQL_ROOT_PASSWORD: invoiceshelf
      MYSQL_DATABASE: invoiceshelf
      MYSQL_USER: invoiceshelf
      MYSQL_PASSWORD: invoiceshelf
    ports:
      - "3306:3306"
    volumes:
      - invoiceshelf-dev-mysql:/var/lib/mysql
    networks:
      - invoiceshelf-dev

  adminer:
    container_name: invoiceshelf-dev-adminer
    build:
      context: ../../
      dockerfile: docker/development/adminer/Dockerfile
    environment:
      ADMINER_PLUGINS: tables-filter
      ADMINER_DESIGN: konya
    ports:
      - '8080:8080'
    networks:
      - invoiceshelf-dev

  mail:
    container_name: invoiceshelf-dev-mailpit
    image: axllent/mailpit:latest
    restart: always
    ports:
      - 1025:1025
      - 8025:8025
    networks:
      - invoiceshelf-dev

  pdf:
    image: gotenberg/gotenberg:8
    networks:
      - invoiceshelf-dev

networks:
  invoiceshelf-dev:

volumes:
  invoiceshelf-dev-mysql:
