ImageFlow的安装教程：一款自动检测浏览器兼容性并提供 WebP 或 AVIF 格式图片的图床程序
一前言程序来自Nodeseek的sayyiku大佬。根据大佬介绍，其一直以来都是用的 chevereto 来作为图床管理，但是这个作者太脑瘫了。项目越改越辣鸡，经常增加一些虚头八脑的社交之类的功能，导致整个项目越来越臃肿卡顿，至于市面上其他的项目，也不想再过多尝试，大部分都是基于多用户场景的，和想要的相违背。本着既然没有，那就自己创造，还能加点自己喜欢的功能，例如 avif 和 webp 格式自动压缩，API 自适应横屏竖屏输出。于是 ImageFlow 就诞生了。仓库地址 欢迎大家给大佬点 star。关于图床，之前本站介绍过：1.用CF和BackBlaze零成本自建图床，年度最强白嫖攻略。二特点1主要特性API 密钥认证：安全的 API 密钥验证机制，保护您的图片上传功能自适应图像服务：根据设备类型（桌面端 / 移动端）自动提供横向或纵向图片现代格式支持：自动检测浏览器兼容性并提供 WebP 或 AVIF 格式图片简单的 API：通过简单的 API 调用获取随机图片用户友好的上传界面：支持拖拽上传，具有暗黑模式和实时预览功能图片管理功能：通过直观的管理界面查看、筛选和删除图片自动图像处理：上传后自动检测图像方向并转换为多种格式多存储支持：支持本地存储和 S3 兼容存储2? 技术优势安全性：API 密钥验证机制确保图片上传和管理功能的安全访问格式转换：自动将上传的图片转换为 WebP 和 AVIF 格式，减少 30-50% 的文件大小设备适配：为不同设备提供最合适的图片方向热重载：上传的图片无需重启服务即可立即可用并发处理：使用 Go 的并发特性高效处理图像转换可扩展性：模块化设计便于扩展和定制响应式设计：完美适配桌面端和移动端设备暗黑模式支持：自动适应系统主题。灵活存储：支持本地和 S3 兼容存储，通过 .env 文件轻松配置3界面预览三安装教程快速开始可以选择两种方式，都非常方便，一种是 Docker，一种是 二进制部署。1 Docker 部署1）拉取并进入仓库git clone https://github.com/Yuri-NagaSaki/ImageFlow && cd ImageFlow2）修改.envcp .env.example .env vim .env3）根据所选择的部署模式调整 参数具体 S3 的 下列参数如何获得这里就不再过多赘述了# API Keys API_KEY=your_api_key_here # 这是你的API key 用于身份验证登录 # Storage Configuration STORAGE_TYPE=local # Options: local, s3 根据部署模式选择 LOCAL_STORAGE_PATH=static/images # Local # S3 Configuration (required when STORAGE_TYPE=s3) S3_ENDPOINT= S3_REGION= S3_ACCESS_KEY= S3_SECRET_KEY= S3_BUCKET= # Custom Domain (optional) CUSTOM_DOMAIN= # 这里是S3 一般都会有的自定义域名。4）拉取镜像准备部署docker compose up -d一般默认监听8686端口，如有必要，自行修改。2 本地部署1）安装依赖1）安装 Go (1.22+)2）安装 WebP 工具: sudo apt-get install webp (Ubuntu/Debian)3）安装 AVIF 工具: sudo apt-get install libavif-bin (Ubuntu)注意：这里的需要 avif 1.0 版本以上，Debian 系统默认安装的是 0.9 版本。需要自行编译安装。Ubuntu 24.04 默认即可安装最新版本2）下载二进制文件修改 env默认提供 X86 和 ARM 的，自行选择git clone https://github.com/Yuri-NagaSaki/ImageFlow && cd ImageFlow https://github.com/Yuri-NagaSaki/ImageFlow/releases/download/v1.0/imageflow-x86 chmod 777 imageflow-x86 cp .env.example .env vim .env ./imageflow-x863）创建 service[Unit] Description=ImageFlow Service After=network.target [Service] ExecStart=/path/to/imageflow WorkingDirectory=/path/to/imageflow/directory Restart=always User=youruser [Install] WantedBy=multi-user.target三 如何使用1打开 IP:8686 端口 输入你在 env 设置的 API_Key2开始上传图片注意：由于压缩在本地进行，请选择 CPU 较强的进行部署3点击右上进入管理4这里会获取到你上传和压缩后的所有图片5当然你也可以对某个图片进行删除，他会连带删除原始图片 avif 和 webp 。6访问 APIAPI 的地址是 IP:8686/api/ramdom到此全部完成！