metabase-api-rs 0.1.0-beta.3

A simplified Rust client for the Metabase API (Beta release - feature complete)
Documentation
version: '3.8'

services:
  # PostgreSQL database for Metabase data
  postgres:
    image: postgres:15-alpine
    container_name: metabase-postgres
    environment:
      POSTGRES_DB: test_metabase_db
      POSTGRES_USER: test_metabase_user
      POSTGRES_PASSWORD: TestMetabasePassword789!
    ports:
      - "5432:5432"
    networks:
      - metabase-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U test_metabase_user"]
      interval: 10s
      timeout: 5s
      retries: 5

  # Metabase application
  metabase:
    image: metabase/metabase:v0.48.0
    container_name: metabase-app
    environment:
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: test_metabase_db
      MB_DB_PORT: 5432
      MB_DB_USER: test_metabase_user
      MB_DB_PASS: TestMetabasePassword789!
      MB_DB_HOST: postgres
      # Enable API access
      MB_ENABLE_PUBLIC_SHARING: "true"
      MB_ENABLE_EMBEDDING: "true"
      # Development settings
      MB_JETTY_PORT: 3000
      JAVA_OPTS: "-Xmx1g"
    ports:
      - "3000:3000"
    networks:
      - metabase-network
    depends_on:
      postgres:
        condition: service_healthy
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 60s

  # Sample database for testing queries
  sample-postgres:
    image: postgres:15-alpine
    container_name: sample-database
    environment:
      POSTGRES_DB: test_sample_db
      POSTGRES_USER: test_sample_user
      POSTGRES_PASSWORD: TestSamplePassword456!
    volumes:
      - ./tests/fixtures/sample_data.sql:/docker-entrypoint-initdb.d/01-sample-data.sql
    ports:
      - "5433:5432"
    networks:
      - metabase-network

networks:
  metabase-network:
    driver: bridge