实现 MinIO 对象存储图片流水线(可迁移 OSS)

- 新增 S3 兼容 Storage 抽象与 MinIO 实现,compose 启动 MinIO
- 上传接口:校验 → 缩放 → WebP → 主图/缩略图入库
- 消息图片 content 改为对象 URL,拒绝 base64
- 工作台/访客端改为先上传再发消息
This commit is contained in:
yml2213
2026-07-15 12:21:31 +08:00
parent 85b407fddf
commit ec2f12c6ed
20 changed files with 907 additions and 108 deletions
+29
View File
@@ -11,5 +11,34 @@ services:
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
ports:
- "9000:9000"
- "9001:9001"
volumes:
- miniodata:/data
# 创建 bucket 并开放下载(开发环境)
minio-init:
image: minio/mc:latest
container_name: kefu-minio-init
depends_on:
- minio
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: