easyimg

easyimg

适用于个人的一站式图床服务. 支持开启公共上传,支持部署AI鉴黄智能检测,完善的权限控制、数据统计、实时推送等功能。demo基于阿里云ESA边缘节点加速。👇

Stars: 226

Visit
 screenshot

EasyImg is a simple and easy-to-use personal image hosting system built on Nuxt.js. It provides features such as multiple upload methods, URL upload, responsive layout, image preview, batch operations, permission control, content safety, data statistics, notification push, system settings, interface features like dark mode and responsive design. Users can deploy EasyImg using Docker Compose, Docker run, or manually. The tool supports various image formats and offers default account credentials for initial login. Data persistence is ensured through database and image file directories. Users can reset the admin password, backup data, and communicate through Telegram channel or GitHub Issues. EasyImg is licensed under Apache License 2.0.

README:

本项目由阿里云ESA提供加速、计算和保护 easyimg

EasyImg

✨ 简单易用的个人图床系统,基于 Nuxt.js 构建 ✨

release License easyimg

功能特性快速开始配置说明API 文档常见问题

项目预览

点击展开查看项目截图

项目预览1

项目预览2

项目预览3

项目预览4

项目预览5

项目预览6

项目预览7

项目预览8

功能特性

🖼️ 图片管理

  • 多种上传方式:支持点击、拖拽、粘贴上传,支持多图批量上传
  • URL 上传:支持从 URL 直接下载图片到本地图库
  • 瀑布流展示:响应式瀑布流布局,自适应不同屏幕尺寸
  • 图片预览:支持大图预览,显示图片详细信息
  • 批量操作:支持批量选择、批量删除图片
  • 回收站:软删除机制,支持清空回收站释放空间

🔐 权限控制

  • 公共/私有上传:支持访客上传和登录后私有上传两种模式
  • API Key 管理:支持创建多个 API Key,方便第三方工具调用
  • IP 黑名单:支持手动或自动拉黑恶意 IP

🛡️ 内容安全

  • NSFW 检测:支持多种鉴黄服务(nsfwdet.com、elysiatools.com、自建 nsfw_detector)
  • 自动处理:违规图片自动软删除,可选自动拉黑上传者 IP
  • 违规管理:支持查看违规图片列表,可手动取消违规标记

📊 数据统计

  • 存储统计:实时统计活跃图片数、存储空间占用
  • 分类统计:区分公共上传和私有上传数量
  • 内容安全统计:检测图片总数、违规图片数、违规率

🔔 通知推送

  • 多种通知方式:支持 Webhook、Telegram、Email、Server酱
  • 事件通知:登录通知、图片上传通知、鉴黄检测结果通知
  • 自定义模板:Webhook 支持自定义请求体模板

⚙️ 系统设置

  • 应用配置:自定义应用名称、Logo、全局背景图片
  • 公告系统:支持弹窗和横幅两种公告展示形式
  • 上传配置:可配置允许的格式、文件大小限制、WebP 压缩等
  • 频率限制:支持配置同一 IP 的请求频率限制

🎨 界面特性

  • 深色模式:支持亮色/深色主题切换
  • 响应式设计:完美适配桌面端和移动端
  • 毛玻璃效果:支持背景图片毛玻璃模糊效果

快速开始

Docker Compose 部署(推荐)

# 1. 创建 easyimg 目录
mkdir -p /root/easyimg && cd /root/easyimg


# 2. 下载docker-compose.yml文件
wget https://git.221022.xyz/https://raw.githubusercontent.com/chaos-zhu/easyimg/refs/heads/main/docker-compose.yml

# 使用 docker-compose
docker compose up -d

Docker run部署

docker run -d --name easyimg -p 3000:3000 -v ./db:/app/db -v ./uploads:/app/uploads ghcr.io/chaos-zhu/easyimg:latest

手动部署

# 安装依赖
pnpm install

# 开发模式
pnpm dev

# 构建生产版本
pnpm build

# 启动生产服务
node .output/server/index.mjs

默认账户

首次启动后,使用以下默认账户登录:

  • 用户名easyimg
  • 密码easyimg

⚠️ 请登录后立即修改默认用户名密码!

数据持久化

  • db/ - 数据库文件(NeDB)
  • uploads/ - 上传的图片文件

使用 Docker 部署时,请确保挂载数据目录:

volumes:
  - ./data:/app/data
  - ./uploads:/app/uploads

常见问题

Q: 如何重置管理员密码?

删除 db/admin.db 文件后重启服务,系统会重新创建默认账户。

Q: 如何备份数据?

备份 db和uploads 目录即可,包含所有数据库文件和上传的图片。

Q: 支持哪些图片格式?

默认支持:JPEG、JPG、PNG、GIF、WebP、AVIF、SVG、BMP、ICO、APNG、TIFF

作者其他项目

  • EasyNode - 多功能 Linux & Windows 服务器 WEB 终端面板
  • EasyNavTab - 开源浏览器插件,自定义新标签页

交流反馈

开源协议

Apache-License2.0

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for easyimg

Similar Open Source Tools

For similar tasks

For similar jobs