{"owner":"ibis-project","repo":"ibis","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"compose.yaml","servicesCount":29,"services":[{"name":"clickhouse","image":"clickhouse/clickhouse-server:26.1.2.11-alpine","ports":["8123:8123","9000:9000"],"environment":["CLICKHOUSE_USER=ibis","CLICKHOUSE_PASSWORD="],"volumes":["clickhouse:/var/lib/clickhouse/user_files/ibis"]},{"name":"mysql","image":"mariadb:12.3.3","ports":["3306:3306"],"environment":["MYSQL_ALLOW_EMPTY_PASSWORD=true","MYSQL_DATABASE=ibis-testing","MYSQL_PASSWORD=ibis","MYSQL_USER=ibis"],"volumes":["mysql:/data","$PWD/docker/mysql:/docker-entrypoint-initdb.d:ro"]},{"name":"singlestoredb","image":"ghcr.io/singlestore-labs/singlestoredb-dev:0.2.86","ports":["3307:3306","9089:9000"],"environment":["ROOT_PASSWORD=ibis_testing","SINGLESTORE_LICENSE=","SINGLESTOREDB_DATABASE=ibis_testing","SINGLESTOREDB_PASSWORD=ibis_testing","SINGLESTOREDB_USER=root","SINGLESTOREDB_PORT=3307"],"volumes":["singlestoredb:/data","$PWD/docker/singlestoredb/init.sql:/init.sql:ro"]},{"name":"postgres","image":"ibis-postgres","build":"./docker/postgres","ports":["5432:5432"],"environment":["POSTGRES_PASSWORD=postgres","POSTGRES_DB=ibis_testing","POSTGRES_USER=postgres"],"volumes":["postgres:/data"]},{"name":"mssql","image":"mcr.microsoft.com/mssql/server:2022-latest","ports":["1433:1433"],"environment":["MSSQL_SA_PASSWORD=1bis_Testing!","ACCEPT_EULA=Y","MSSQL_COLLATION=Latin1_General_100_BIN2_UTF8"],"volumes":["mssql:/data"]},{"name":"hive-metastore-db","image":"postgres:18.6-alpine","command":"-c port=23456","environment":["POSTGRES_USER=admin","POSTGRES_PASSWORD=admin","POSTGRES_DB=metastore"]},{"name":"minio","image":"bitnamilegacy/minio:2025.7.23","environment":["MINIO_ROOT_USER=accesskey","MINIO_ROOT_PASSWORD=secretkey","MINIO_SKIP_CLIENT=yes"],"volumes":["$PWD/docker/minio/config.json:/.mc/config.json:ro"]},{"name":"hive-metastore","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","minio"]},{"name":"trino","image":"trinodb/trino:479","ports":["8080:8080"],"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"],"depends_on":["hive-metastore"]},{"name":"druid-postgres","image":"postgres:18.6-alpine","environment":["POSTGRES_PASSWORD=FoolishPassword","POSTGRES_USER=druid","POSTGRES_DB=druid"]},{"name":"druid-zookeeper","image":"zookeeper:3.9","environment":["ZOO_MY_ID=1"]},{"name":"druid-coordinator","image":"apache/druid:38.0.0","command":"coordinator","volumes":["druid:/opt/shared","druid:/opt/druid/var"],"depends_on":["druid-zookeeper","druid-postgres"]},{"name":"druid-broker","image":"apache/druid:38.0.0","command":"broker","ports":["8082:8082"],"volumes":["druid:/opt/druid/var"],"depends_on":["druid-zookeeper","druid-postgres","druid-coordinator"]},{"name":"druid-historical","image":"apache/druid:38.0.0","command":"historical","volumes":["druid:/opt/shared","druid:/opt/druid/var"],"depends_on":["druid-zookeeper","druid-postgres","druid-coordinator"]},{"name":"druid-middlemanager","image":"apache/druid:38.0.0","command":"middleManager","volumes":["druid:/data","druid:/opt/shared","druid:/opt/druid/var"],"depends_on":["druid-zookeeper","druid-postgres","druid-coordinator"]},{"name":"druid","image":"apache/druid:38.0.0","command":"router","ports":["8888:8888"],"volumes":["druid:/opt/druid/var"],"depends_on":["druid-zookeeper","druid-postgres","druid-coordinator","druid-middlemanager","druid-historical","druid-broker"]},{"name":"oracle","image":"gvenzl/oracle-free:23.9-slim","restart":"on-failure","ports":["1521:1521"],"environment":["ORACLE_PASSWORD=ibis","ORACLE_DATABASE=IBIS_TESTING","APP_USER=ibis","APP_USER_PASSWORD=ibis"],"volumes":["oracle:/opt/oracle/data"]},{"name":"exasol","image":"exasol/docker-db:2025.2.1","ports":["8563:8563"],"volumes":["exasol:/data"]},{"name":"flink-jobmanager","image":"flink:${FLINK_VERSION}","command":"jobmanager","ports":["8081:8081"],"environment":["FLINK_PROPERTIES=jobmanager.rpc.address: flink-jobmanager\n"]},{"name":"flink","image":"ibis-flink-${FLINK_VERSION}","build":{"context":"./docker/flink"},"command":"taskmanager","environment":["FLINK_PROPERTIES=jobmanager.rpc.address: flink-jobmanager\ntaskmanager.numberOfTaskSlots: 2\ntaskmanager.memory.process.size: 2048m\ntaskmanager.memory.network.fraction: 0.4\ntaskmanager.memory.network.min: 512mb\ntaskmanager.memory.network.max: 2gb\n"],"depends_on":["flink-jobmanager"]},{"name":"kudu","image":"apache/kudu:1.17.0","command":"kudu master run --fs_wal_dir=/var/lib/kudu/master --fs_data_dirs=/var/lib/kudu/master"},{"name":"kudu-tserver","image":"apache/kudu:1.17.0","command":"kudu tserver run --fs_wal_dir=/var/lib/kudu/master --fs_data_dirs=/var/lib/kudu/master --tserver_master_addrs=kudu","depends_on":["kudu"]},{"name":"impala-hive-metastore","image":"apache/impala:4.5.3-impala_quickstart_hms","command":"hms","volumes":["impala:/var/lib/hive","impala:/user/hive/warehouse","./docker/impala/conf:/opt/hive/conf:ro"]},{"name":"statestored","image":"apache/impala:4.5.3-statestored","command":"-redirect_stdout_stderr=false -logtostderr -v=1","ports":["25010:25010"],"volumes":["./docker/impala/conf:/opt/impala/conf:ro"]},{"name":"catalogd","image":"apache/impala:4.5.3-catalogd","command":"-redirect_stdout_stderr=false -logtostderr -v=1 -hms_event_polling_interval_s=1 -invalidate_tables_timeout_s=999999","ports":["25020:25020"],"volumes":["impala:/user/hive/warehouse","./docker/impala/conf:/opt/impala/conf:ro"],"depends_on":["impala-hive-metastore","statestored"]},{"name":"impala","image":"apache/impala:4.5.3-impalad_coord_exec","command":"-v=1 -redirect_stdout_stderr=false -logtostderr -kudu_master_hosts=kudu:7051 -mt_dop_auto_fallback=true -default_query_options=mt_dop=4,default_file_format=parquet,default_transactional_type=insert_only -mem_limit=4gb","ports":["21050:21050"],"environment":["JAVA_TOOL_OPTIONS=-Xmx1g"],"volumes":["impala:/user/hive/warehouse","./docker/impala/conf:/opt/impala/conf:ro"],"depends_on":["statestored","catalogd","kudu","kudu-tserver"]},{"name":"materialize","image":"materialize/materialized:v26.10.2","ports":["6875:6875","6876:6876","6874:6874"],"environment":["MZ_LOG=info","MZ_TELEMETRY=false","MZ_SYSTEM_PARAMETER_DEFAULT=max_tables=1000"],"volumes":["materialize:/data"]},{"name":"risingwave","image":"ghcr.io/risingwavelabs/risingwave:v2.1.3","restart":"on-failure","command":"standalone --meta-opts=\" --advertise-addr 0.0.0.0:5690 --backend mem --state-store hummock+minio://accesskey:secretkey@minio:9000/risingwave --data-directory hummock_001\" --compute-opts=\"--advertise-addr 0.0.0.0:5688 --role both\" --frontend-opts=\"--listen-addr 0.0.0.0:4566 --advertise-addr 0.0.0.0:4566\" --compactor-opts=\"--advertise-addr 0.0.0.0:6660\"","ports":["4566:4566"],"environment":["RUST_BACKTRACE=1","ENABLE_TELEMETRY=false"],"volumes":["risingwave:/data"],"depends_on":["minio"]},{"name":"spark-connect","image":"bitnamilegacy/spark:4.0.0","command":"/opt/bitnami/spark/sbin/start-connect-server.sh --name ibis_testing --packages org.apache.spark:spark-connect_2.13:4.0.0,org.apache.iceberg:iceberg-spark-runtime-4.0_2.13:1.10.1,io.delta:delta-spark_2.13:4.0.0","ports":["15002:15002"],"volumes":["spark-connect:/data","$PWD/docker/spark-connect/conf.properties:/opt/bitnami/spark/conf/spark-defaults.conf:ro","$PWD/docker/spark-connect/log4j2.properties:/opt/bitnami/spark/conf/log4j2.properties:ro"]}],"exposedPorts":["8123","9000","3306","3307","9089","5432","1433","8080","8082","8888","1521","8563","8081","25010","25020","21050","6875","6876","6874","4566","15002"],"dockerRunCommand":"docker run -d --name ibis -p 8123:8123 --restart always ibis-postgres","podmanRunCommand":"podman run -d --name ibis -p 8123:8123 --restart always ibis-postgres","skopeoInspectCommand":"skopeo inspect docker://docker.io/library/ibis-postgres:latest","orasPullCommand":"oras pull ibis-postgres","registryMeta":{"provider":"dockerhub","image":"library/ibis-postgres","canonicalImage":"docker.io/library/ibis-postgres:latest","latestTag":"latest","cliCommands":{"dockerRun":"docker run -d --name ibis -p 8123:8123 --restart always ibis-postgres","dockerPull":"docker pull ibis-postgres","podmanRun":"podman run -d --name ibis -p 8123:8123 --restart always ibis-postgres","skopeoInspect":"skopeo inspect docker://docker.io/library/ibis-postgres:latest","orasPull":"oras pull ibis-postgres","composeYaml":"services:\n  ibis:\n    image: ibis-postgres\n    restart: unless-stopped\n    ports:\n      - \"8123:8123\""}}}