services: # MinIO S3-compatible storage minio: image: minio/minio:RELEASE.2025-09-07T16-13-09Z container_name: ${MINIO_CONTAINER:-minio} ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-admin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-password123} command: server /data --console-address ":9001" volumes: - minio_data:/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 # MinIO bucket initialization. Runs once and exits; Flink waits for it to # finish so the warehouse and checkpoints buckets always exist first. minio-init: image: minio/mc:RELEASE.2025-08-13T08-35-41Z container_name: ${MINIO_INIT_CONTAINER:-minio-init} depends_on: minio: condition: service_healthy entrypoint: > /bin/sh -c " /usr/bin/mc alias set minio http://minio:9000 ${MINIO_ROOT_USER:-admin} ${MINIO_ROOT_PASSWORD:-password123}; /usr/bin/mc mb --ignore-existing minio/warehouse; /usr/bin/mc mb --ignore-existing minio/checkpoints; echo 'MinIO buckets created successfully'; " # Flink Job Manager with custom image jobmanager: build: . image: ${FLINK_IMAGE:-flink-paimon:local} container_name: ${FLINK_JOBMANAGER_CONTAINER:-flink-jobmanager} ports: - "8081:8081" environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager volumes: # Mount the config and the SQL examples (read-only) for the sql-client - ./conf/config.yaml:/opt/flink/conf/config.yaml - ./sql:/sql:ro command: jobmanager depends_on: minio-init: condition: service_completed_successfully healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8081/ || exit 1"] interval: 30s timeout: 10s retries: 5 # Flink Task Manager taskmanager: build: . image: ${FLINK_IMAGE:-flink-paimon:local} container_name: ${FLINK_TASKMANAGER_CONTAINER:-flink-taskmanager} environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager - TASK_MANAGER_NUMBER_OF_TASK_SLOTS=4 volumes: - ./conf/config.yaml:/opt/flink/conf/config.yaml command: taskmanager depends_on: jobmanager: condition: service_healthy volumes: minio_data: driver: local