NodeJoker图床部署教程

NodeJoker图床部署教程

 次点击
12 分钟阅读

NodeJoker图床部署教程

唠嗑

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

图床演示网址

image

介绍

本项目是对 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

© 本文著作权归作者所有,未经许可不得转载使用。