This repository was archived by the owner on Nov 10, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
64 lines (64 loc) · 2.23 KB
/
compose.yaml
File metadata and controls
64 lines (64 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
services:
postgres:
image: postgres:15-alpine
ports:
- 15432:5432
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
- POSTGRES_DB=iceberg-catalog
minio: # minio as iceberg storage
image: minio/minio:RELEASE.2025-02-07T23-21-09Z
ports:
- 9000:9000
- 9090:9090
restart: unless-stopped
volumes:
- ./docker/minio:/data
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: password
MINIO_CONSOLE_ADDRESS: ":9090"
command: server /data
# create minio directory
minio-init:
image: minio/mc
depends_on:
- minio
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc config host add myminio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc mb myminio/iceberg;
/usr/bin/mc policy download myminio/iceberg;
exit 0;
"
iceberg-rest-catalog:
image: apache/iceberg-rest-fixture:1.8.1
ports:
- 8181:8181
restart: unless-stopped
depends_on:
- postgres
environment:
# has prefix "CATALOG_" variable convert rules
# impl: https://github.com/tabular-io/iceberg-rest-image/blob/master/src/main/java/org/apache/iceberg/rest/RESTCatalogServer.java
# 1. remove prefix "CATALOG_"
# 2. replace "__" to "-"
# 3. replace "_" to "."
# 4. convert to lower case
# catalog object storage
- CATALOG_WAREHOUSE=s3://iceberg/
- CATALOG_IO__IMPL=org.apache.iceberg.aws.s3.S3FileIO
- CATALOG_S3_PATH__STYLE__ACCESS=true
- CATALOG_S3_ENDPOINT=http://minio:9000
- AWS_REGION=us-west-2
- AWS_DEFAULT_REGION=us-west-2
- AWS_ACCESS_KEY_ID=admin
- AWS_SECRET_ACCESS_KEY=password
# catalog JDBC config
- CATALOG_CATALOG__IMPL=org.apache.iceberg.jdbc.JdbcCatalog
- CATALOG_URI=jdbc:postgresql://postgres:5432/iceberg-catalog
- CATALOG_JDBC_USER=postgres
- CATALOG_JDBC_PASSWORD=password
# download postgres JDBC driver and run RESTCatalog
command: /bin/bash -c "curl -o /tmp/pg.jar https://jdbc.postgresql.org/download/postgresql-42.7.5.jar && java -cp /tmp/pg.jar:/usr/lib/iceberg-rest/iceberg-rest-adapter.jar org.apache.iceberg.rest.RESTCatalogServer"