services: postgres: image: postgres:16-alpine container_name: news-hub-db restart: unless-stopped environment: POSTGRES_USER: news POSTGRES_PASSWORD: news_dev_password POSTGRES_DB: news_hub ports: - "5434:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./init.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U news -d news_hub"] interval: 5s timeout: 5s retries: 5 pgadmin: image: dpage/pgadmin4:latest container_name: news-hub-pgadmin restart: unless-stopped environment: PGADMIN_DEFAULT_EMAIL: admin@local.dev PGADMIN_DEFAULT_PASSWORD: admin ports: - "5050:80" depends_on: postgres: condition: service_healthy volumes: postgres_data: