github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/test/lakectl_metastore/docker-compose.yml (about)

     1  version: "3.7"
     2  services:
     3    lakefs:
     4      image: "${REPO:-treeverse}/lakefs:${TAG:-latest}"
     5      container_name: lakefs
     6      ports:
     7        - "8000:8000"
     8      depends_on:
     9        - postgres
    10      environment:
    11        - STORAGE_NAMESPACE
    12        - LAKEFS_BLOCKSTORE_TYPE=s3
    13        - LAKEFS_BLOCKSTORE_S3_FORCE_PATH_STYLE=true
    14        - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_KEY_ID
    15        - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_SECRET_ACCESS_KEY
    16        - LAKEFS_AUTH_ENCRYPT_SECRET_KEY=some random secret string
    17        - LAKEFS_DATABASE_TYPE=postgres
    18        - LAKEFS_DATABASE_POSTGRES_CONNECTION_STRING=postgres://lakefs:lakefs@postgres/postgres?sslmode=disable
    19        - LAKEFS_STATS_ENABLED=false
    20        - LAKEFS_LOGGING_LEVEL
    21      env_file:
    22        - tester.env
    23      entrypoint: ["/app/wait-for", "postgres:5432", "--", "/app/lakefs", "run"]
    24  
    25    postgres:
    26      image: postgres:11
    27      container_name: postgres
    28      environment:
    29        POSTGRES_USER: lakefs
    30        POSTGRES_PASSWORD: lakefs
    31  
    32    mariadb:
    33      image: mariadb:10
    34      container_name: mariadb
    35      environment:
    36        MYSQL_ROOT_PASSWORD: admin
    37        MYSQL_USER: admin
    38        MYSQL_PASSWORD: admin
    39        MYSQL_DATABASE: metastore_db
    40  
    41    hive-metastore:
    42      image: ghcr.io/treeverse/hive-metastore:${TAG}
    43      container_name: hive
    44      depends_on:
    45        - mariadb
    46      ports:
    47        - 9083:9083
    48      environment:
    49        - DB_URI=mariadb:3306
    50      volumes:
    51        - ./etc/hive-site.xml:/opt/apache-hive-bin/conf/hive-site.xml
    52  
    53    trino:
    54      image: trinodb/trino:358
    55      container_name: trino
    56      environment:
    57        - AWS_ACCOUNT_ID
    58        - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_KEY_ID
    59        - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_SECRET_ACCESS_KEY
    60        - LAKECTL_METASTORE_GLUE_CREDENTIALS_ACCESS_KEY_ID
    61        - LAKECTL_METASTORE_GLUE_CREDENTIALS_ACCESS_SECRET_KEY
    62      volumes:
    63        - ./etc/s3.properties:/etc/trino/catalog/s3.properties
    64        - ./etc/lakefs.properties:/etc/trino/catalog/lakefs.properties
    65      ports:
    66        - "8080:8085"
    67    trino-client:
    68      image: trinodb/trino:358
    69      profiles: ["client"]
    70      entrypoint: ["trino", "--server", "trino:8080", "--catalog", "s3", "--schema", "default"]