version: '3.9'
services:
  pgadmin:
    image: dpage/pgadmin4
    ports:
      - ${PGADMIN_LISTEN_PORT}:${PGADMIN_LISTEN_PORT}
    environment:
      PGADMIN_LISTEN_PORT: ${PGADMIN_LISTEN_PORT}
      PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL}
      PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
    volumes:
      - ./.pgadmin:/var/lib/pgadmin

  postgres:
    image: postgres:15.3
    environment:
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - ./.pgdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 5