ImageFlow一款更适合个人使用的图床项目
ImageFlow 是一个为现代网站和应用程序设计的高效图像服务系统。它能根据设备类型自动提供最合适的图像,并支持 WebP 和 AVIF 等现代图像格式,显著提升网站性能和用户体验。
主要特性
- API 密钥认证:安全的 API 密钥验证机制,保护您的图片上传功能
- 自适应图像服务:根据设备类型(桌面端/移动端)自动提供横向或纵向图片
- 现代格式支持:自动检测浏览器兼容性并提供 WebP 或 AVIF 格式图片
- 图片过期功能:支持设置图片过期时间,过期后自动删除(支持本地和 S3 存储)
- 简单的 API:通过简单的 API 调用获取随机图片,支持标签过滤
- 用户友好的上传界面:支持拖拽上传,具有暗黑模式、实时预览和标签管理功能
- 图片管理功能:通过直观的管理界面查看、筛选和删除图片
- 自动图像处理:上传后自动检测图像方向并转换为多种格式
- 异步处理:图像转换在后台进行,不影响主服务
- 高性能:优化的网络性能以减少加载时间
- 易于部署:简单的配置和部署流程
- 多存储支持:支持本地存储和 S3 兼容存储(如 R2,
不支持MinIO
) - Redis 支持:可选的 Redis 集成,用于元数据和标签存储,提高性能
项目地址
快速部署
使用 docker compose 快速操作
- 镜像:
soyorins/imageflow
- 国内镜像:
ccr.ccs.tencentyun.com/k7scn/imageflow
git clone https://github.com/Yuri-NagaSaki/ImageFlow && cd ImageFlow
更新配置文件
cp .env.example .env
nano .env
# 主要修改API_KEY和存储方式,想快速体验建议填写local
示例.env
API_KEY=ohji8lob1Sagoh4shizooNe9oxif9pai
STORAGE_TYPE=local
LOCAL_STORAGE_PATH=static/images
CUSTOM_DOMAIN=
MAX_UPLOAD_COUNT=20
IMAGE_QUALITY=75
WORKER_THREADS=4
SPEED=5
WORKER_POOL_SIZE=4
# Debug Mode
DEBUG_MODE=false
启动
docker compose up -d
- 目前版本存在 panic 问题,等后续版本修复, 可以使用
soyorins/imageflow:2.1.1
版本
常见参数设置
API_KEY
, 用于保护上传和管理接口, 推荐使用pwgen 32 1
生成IMAGE_QUALITY
, WebP 转换的质量设置, 数值范围 1-100, 越高表示质量越好,文件越大SPEED
, 范围:0-8 0-8,0=最慢/最高质量,8=最快/最低质量
如何使用
- 打开 IP:8686 端口 输入你在 env 设置的 API_Key
- 上传图片, 支持选择图片的过期时间,添加标签对图片进行分类,图片会自动转换为 WebP 和 AVIF 格式
- 当删除图片时,所有相关格式(原始、WebP、AVIF)将同时被移除
