services: postgres: image: postgres:16-alpine container_name: kefu-db environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: kefu_sys ports: - "5433:5432" volumes: - pgdata:/var/lib/postgresql/data minio: image: minio/minio:latest container_name: kefu-minio command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin # 避开本机其它 MinIO(如 hfb-minio 占用 9000/9001) ports: - "9100:9000" - "9101:9001" volumes: - miniodata:/data # 一次性初始化:创建 bucket 并开放公共下载(跑完即退出,Exited 0 属正常) # 注意:容器网络内仍访问 minio:9000(服务端口),宿主机映射为 9100 minio-init: image: minio/mc:latest container_name: kefu-minio-init depends_on: - minio restart: "no" entrypoint: > /bin/sh -c " sleep 3; mc alias set local http://minio:9000 minioadmin minioadmin; mc mb -p local/kefu || true; mc anonymous set download local/kefu; echo 'MinIO bucket kefu ready'; " volumes: pgdata: miniodata: