version: '3.8' services: postgres: image: pgvector/pgvector:pg16 container_name: supermarket-postgres restart: unless-stopped environment: POSTGRES_USER: user POSTGRES_PASSWORD: password POSTGRES_DB: supermarket ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U user -d supermarket"] interval: 10s timeout: 5s retries: 5 pgadmin: image: dpage/pgadmin4:latest container_name: supermarket-pgadmin restart: unless-stopped environment: PGADMIN_DEFAULT_EMAIL: admin@admin.com PGADMIN_DEFAULT_PASSWORD: admin PGADMIN_CONFIG_SERVER_MODE: 'False' ports: - "5050:80" volumes: - pgadmin_data:/var/lib/pgadmin depends_on: postgres: condition: service_healthy cloudbeaver: image: dbeaver/cloudbeaver:latest container_name: supermarket-cloudbeaver restart: unless-stopped ports: - "8978:8978" volumes: - cloudbeaver_data:/opt/cloudbeaver/workspace depends_on: postgres: condition: service_healthy volumes: postgres_data: pgadmin_data: cloudbeaver_data: