【docker】多功能、内置编辑的图床 | Picsur
本文发布于291天前,最后更新于249天前,其中的信息可能有所发展或是发生改变。如有疑问请联系邮箱:admin@yemengstar.com。

1. 前言

夜梦在以前的文章中已经介绍了多种图床的部署,例如:

在这篇文章中,夜梦介绍另一个好用的图床项目:Picsur

项目GitHub:CaramelFur/Picsur

演示:

特点:

  •  Uploading and viewing images 上传并预览图片
  •  Anonymous uploads 匿名上传
  •  User accounts 可创建单独用户
  •  User roles and permissions 可设置用户权限
  •  Proper CORS restrictions 适当的CORS限制
  •  Exif stripping exif信息剥离
  •  Ability to keep original 上传的图像可以保持原始图像
  • Support for many formats 支持多种格式
    • QOI
    • JPG
    • PNG
    • WEBP (animated supported)
    • TIFF
    • BMP
    • GIF (animated supported)
  •  Convert images 支持转化格式
  • Edit images 支持编辑图像
    • Resize
    • Rotate
    • Flip
    • Strip transparency
    • Negative
    • Greyscale
  •  Deletable images 支持删除图像
  •  Proper DB migrations 可以进行数据库迁移
  •  Show own images in list 支持在列表中显示自己的图片
  •  Correct previews on chats 支持在聊天窗口上正确显示预览图
  •  Expiring images 支持设置图像的有效期
  •  ShareX endpoint 支持ShareX
  •  ARM64 and AMD64 Docker image 支持docker部署
  •  White mode 白色模式
  •  Public gallery 画廊
  •  Albums 相册

2. 准备

夜梦这里使用的是雨云的服务器,长期全场景九折 + 首月优惠链接:https://www.rainyun.com/

更多服务器推荐请看:服务器推荐 | 部分服务器测评

夜梦强烈推荐你使用域名,通过 namesilo 注册域名可以使用 1$ 优惠码:dreamorrow。不使用域名可能会导致些许bug(例如无法直接复制链接)。

在开始部署之前,你需要安装 docker 和 docker-compose。具体安装见:【docker】在服务器上安装 docker/docker-compose

3. 部署

创建文件夹:

mkdir -p /root/data/docker_data/picsur && cd /root/data/docker_data/picsur

创建配置文件:

vim docker-compose.yml

然后贴入配置(官方),记得修改下面配置中的PICSUR_DB_PASSWORDPICSUR_ADMIN_PASSWORD

version: '3'
services:
  picsur:
    image: ghcr.io/caramelfur/picsur:latest
    container_name: picsur
    ports:
      - '23345:8080' #左侧23345端口可以修改为服务器未被占用的端口
    environment:
       PICSUR_HOST: '0.0.0.0'
       PICSUR_PORT: 8080
 
       PICSUR_DB_HOST: picsur_postgres
       PICSUR_DB_PORT: 5432
       PICSUR_DB_USERNAME: picsur
       PICSUR_DB_PASSWORD: picsurSTRONGPASSWORD_SAMEASBELLOW
       PICSUR_DB_DATABASE: picsur
 
      ## 用户名只能是admin,改不了。下面设置的是管理员密码。
       PICSUR_ADMIN_PASSWORD: YEMENGpicsurSTRONGPASSWORD
 
      ## 可选,不设置就是用随机的密钥
      # PICSUR_JWT_SECRET: CHANGE_ME
      # PICSUR_JWT_EXPIRY: 7d
 
 
      ## 最大能上传的图片大小,128000000就是128M
       PICSUR_MAX_FILE_SIZE: 128000000
      ## No need to touch this, unless you use a custom frontend
      # PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"
 
      ## Warning: Verbose mode might log sensitive data
      # PICSUR_VERBOSE: "true"
    restart: unless-stopped
  picsur_postgres:
    image: postgres:14-alpine
    container_name: picsur_postgres
    environment:
      POSTGRES_DB: picsur
      POSTGRES_PASSWORD: picsurSTRONGPASSWORD_SAMEASBELLOW
      POSTGRES_USER: picsur
    restart: unless-stopped
    volumes:
      - ./picsur-data:/var/lib/postgresql/data
volumes:
  picsur-data:

完成后,我们开始部署:

docker-compose up -d

4. 反向代理

夜梦强烈建议你使用域名,如果你已经完成域名解析,那么你可以看夜梦的这两篇文章进行反向代理:

【docker】反向代理神器 ——Nginx Proxy Manager 的安装

【docker】Nginx Proxy Manager 的使用

5. 使用

访问ip:23345或者你的域名(完成反向代理)以后,我们进入图床:

然后我们使用设置的用户名密码登录:

  • 用户名:admin
  • 密码:你自己设置的,夜梦这里是YEMENGpicsurSTRONGPASSWORD

登录之后:

上传图片只需要把图片拉入页面,很方便!

上传完以后,会在图片下方提供多种格式的链接供你在别的地方引用这张图片!

你可以直接修改图片的格式,以便用于不同的环境中:

可以设置图片的有效时间,过期删除:

如果有需要,你可以直接编辑图片的样式:

在管理员后台,你可以设置其他的内容。比如可以设置APIKEY,添加新用户(可单独设置使用权限)。

6. 后续

6.1 更新项目

cd /root/data/docker_data/picsur
docker-compose down
docker-compose pull
docker-compose up -d
docker image prune

6.2 卸载项目

cd /root/data/docker_data/picsur
docker-compose down
cd ..
rm -rf /root/data/docker_data/picsur
本文为夜梦星尘原创文章。
文章作者:夜梦星尘
文章链接:【docker】多功能、内置编辑的图床 | Picsur
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自夜梦星尘
支持作者:夜梦星尘的爱发电
上一篇
下一篇