NodeJoker图床部署教程
唠嗑
图床是我自己仿照Nodeimage复刻出来的,我给他起名为NodeJoker,有点抽象,不过我喜欢,下面实验室网址和部署教程
图床演示网址

介绍
本项目是对 https://www.nodeimage.com 的本地可部署克隆,保留了原站的界面、动画和核心功能:拖拽/粘贴上传、WebP 压缩、水印、历史记录、API 密钥、复制多格式链接、暗黑模式等。后端基于 Express + sharp,文件与数据均存储在本地。
核心特性
安全可靠:采用多重安全验证机制,包括文件类型魔数检测、NSFW内容智能识别、恶意文件过滤等,确保平台内容健康安全。同时实施严格的用户权限管理,防止服务滥用。
高速访问:基于 Cloudflare CDN 全球加速网络,配合智能缩略图生成技术,确保图片在世界各地都能快速加载。采用 WebP 格式优化,在保证画质的前提下显著减少文件大小。
格式丰富:全面支持 JPG、JPEG、PNG、GIF、WebP、SVG、AVIF 等主流图片格式,满足不同使用场景的需求。特别针对动图和矢量图进行了专门优化。
便捷易用:支持拖拽上传、批量上传、剪贴板粘贴等多种上传方式。提供直链、HTML、Markdown、BBCode 等多种格式的链接,方便在不同平台使用。
API 支持:提供完整的 RESTful API 接口,支持程序化上传和管理,方便开发者集成到自己的应用中。API 文档详细,示例丰富。
如何部署?
确保服务器已经安装了docker的前提下,按照下面的教程进行部署。如果服务器没有安装docker,可以运行下面的命令然后按照提示进行安装
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)
Docker run部署
直接运行下面我给出的docker命令即可
mkdir -p /root/nodeimage_clone/{data,uploads} && \
docker run -d --name nodeimage_clone \
--restart unless-stopped \
-p 7878:7878 \
-e SESSION_SECRET=change_me \
-v "/root/nodeimage_clone/uploads:/app/uploads" \
-v "/root/nodeimage_clone/data:/app/data" \
lx969788249/nodeimage_clone:latest
访问 http://ip:7878 登录,默认账号:admin 默认密码:admin 再按需修改账号密码。
Docker Compose(推荐)
创建并进入文件夹
mkdir -p /root/nodeimage_clone/{data,uploads} && cd nodeimage_clone
新建 docker-compose.yml,输入下面的内容
services:
nodeimage:
image: lx969788249/nodeimage_clone:latest
ports:
- "7878:7878"
restart: unless-stopped
environment:
SESSION_SECRET: change_me # 自定义字符串,用于安全校验,随便填,不用记
# BASE_URL: https://img.example.com
volumes:
- /root/nodeimage/uploads:/app/uploads
- /root/nodeimage/data:/app/data
执行保存之后执行
docker compose up -d
访问 http://localhost:7878 登录,默认账号:admin 默认密码:adminGitHub项目地址
如何升级?
用Docker run方式部署的:
重新拉取最新镜像
docker pull lx969788249/nodeimage_clone:latest
停止并删除旧容器
docker stop nodeimage_clone
docker rm nodeimage_clone
重新部署容器
docker run -d --name nodeimage_clone \
--restart unless-stopped \
-p 7878:7878 \
-e SESSION_SECRET=change_me \
-v "/root/nodeimage_clone/uploads:/app/uploads" \
-v "/root/nodeimage_clone/data:/app/data" \
lx969788249/nodeimage_clone:latest
用Docker compose方式部署的:
进入nodeimage_clone后重新pull镜像然后重新运行
cd /root/nodeimage_clone
docker compose pull
docker compose up -d