services: postgres: user: postgres environment: POSTGRES_PASSWORD: postgres POSTGRES_DB: ibis_testing POSTGRES_USER: postgres build: ./docker/postgres image: ibis-postgres healthcheck: interval: 1s retries: 20 test: - CMD - pg_isready ports: - 5432:5432 networks: - postgres volumes: - ./ci/ibis-testing-data/csv/astronauts.csv:/data/astronauts.csv - ./ci/ibis-testing-data/csv/awards_players.csv:/data/awards_players.csv - ./ci/ibis-testing-data/csv/batting.csv:/data/batting.csv - ./ci/ibis-testing-data/csv/diamonds.csv:/data/diamonds.csv - ./ci/ibis-testing-data/csv/functional_alltypes.csv:/data/functional_alltypes.csv - ./ci/ibis-testing-data/csv/geo.csv:/data/geo.csv - postgres:/data - ./db/postgres.sql:/docker-entrypoint-initdb.d/create_tables.sql hive-metastore-db: image: postgres:17.9-alpine environment: POSTGRES_USER: admin POSTGRES_PASSWORD: admin POSTGRES_DB: metastore healthcheck: interval: 1s retries: 20 test: - CMD - pg_isready - --port=23456 command: -c port=23456 networks: - trino minio: image: bitnamilegacy/minio:2025.7.23 environment: MINIO_ROOT_USER: accesskey MINIO_ROOT_PASSWORD: secretkey MINIO_SKIP_CLIENT: "yes" healthcheck: interval: 1s retries: 20 test: - CMD-SHELL - mc ready data && mc mb --ignore-existing data/trino networks: - trino volumes: - $PWD/docker/minio/config.json:/.mc/config.json:ro hive-metastore: # TODO: healthcheck? image: starburstdata/hive:3.1.3-e.4 environment: HIVE_METASTORE_DRIVER: org.postgresql.Driver HIVE_METASTORE_JDBC_URL: jdbc:postgresql://hive-metastore-db:23456/metastore HIVE_METASTORE_USER: admin HIVE_METASTORE_PASSWORD: admin HIVE_METASTORE_WAREHOUSE_DIR: s3://trino/ HIVE_METASTORE_USERS_IN_ADMIN_ROLE: "admin" S3_ENDPOINT: http://minio:9000 S3_ACCESS_KEY: accesskey S3_SECRET_KEY: secretkey S3_PATH_STYLE_ACCESS: "true" REGION: "" GOOGLE_CLOUD_KEY_FILE_PATH: "" AZURE_ADL_CLIENT_ID: "" AZURE_ADL_CREDENTIAL: "" AZURE_ADL_REFRESH_URL: "" AZURE_ABFS_STORAGE_ACCOUNT: "" AZURE_ABFS_ACCESS_KEY: "" AZURE_WASB_STORAGE_ACCOUNT: "" AZURE_ABFS_OAUTH: "" AZURE_ABFS_OAUTH_TOKEN_PROVIDER: "" AZURE_ABFS_OAUTH_CLIENT_ID: "" AZURE_ABFS_OAUTH_SECRET: "" AZURE_ABFS_OAUTH_ENDPOINT: "" AZURE_WASB_ACCESS_KEY: "" depends_on: hive-metastore-db: condition: service_healthy minio: condition: service_healthy networks: - trino trino: depends_on: - hive-metastore healthcheck: interval: 2s retries: 15 test: - CMD-SHELL - trino --output-format null --execute 'show schemas in hive; show schemas in memory' image: trinodb/trino:476 ports: - 8080:8080 networks: - trino volumes: - $PWD/docker/trino/catalog/memory.properties:/etc/trino/catalog/memory.properties:ro - $PWD/docker/trino/catalog/hive.properties:/etc/trino/catalog/hive.properties:ro - $PWD/docker/trino/jvm.config:/etc/trino/jvm.config:ro networks: postgres: trino: volumes: postgres: