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: postgres:15
    container_name: invoiceshelf-dev-pgsql
    environment:
      - POSTGRES_PASSWORD=invoiceshelf
      - POSTGRES_USER=invoiceshelf
      - POSTGRES_DB=invoiceshelf
    ports:
      - 5432:5432
    volumes:
      - invoiceshelf-dev-pgsql:/var/lib/postgresql/data
    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

networks:
  invoiceshelf-dev:

volumes:
  invoiceshelf-dev-pgsql:
