version: "3.9" services: app: container_name: app_feed_api build: dockerfile: Dockerfile context: . volumes: - .:/usr/src/app environment: - 3005:3005 ports: - "3005:3005" networks: - api_network extra_hosts: - "host.docker.internal:host-gateway" depends_on: - postgres postgres: image: postgres:15.3-alpine container_name: pg_feed_api environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} ports: - 5432:5432 expose: - "6500" volumes: - postgres:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-h", "postgres", "-U", "${DB_USER}"] interval: 5s timeout: 5s retries: 5 networks: - api_network pgadmin: image: dpage/pgadmin4 container_name: pgadmin_feed_api environment: PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} PGADMIN_LISTEN_PORT: ${PGADMIN_LISTEN_PORT} ports: - 5050:80 volumes: - pgadmin-data:/var/lib/pgadmin restart: "no" depends_on: - postgres networks: - api_network networks: api_network: volumes: postgres: pgadmin-data: