前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【docker】多功能、内置编辑的图床 | Picsur

【docker】多功能、内置编辑的图床 | Picsur

作者头像
夜梦星尘
发布2024-08-20 19:12:16
780
发布2024-08-20 19:12:16
举报
文章被收录于专栏:夜梦星尘的折腾日记

本文发布于181天前,最后更新于139天前,其中的信息可能有所发展或是发生改变。

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. 准备

不使用域名可能会导致些许bug(例如无法直接复制链接)。

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

3. 部署

创建文件夹:

代码语言:javascript
复制
mkdir -p /root/data/docker_data/picsur && cd /root/data/docker_data/picsur

创建配置文件:

代码语言:javascript
复制
vim docker-compose.yml

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

代码语言:javascript
复制
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:

完成后,我们开始部署:

代码语言:javascript
复制
docker-compose up -d

4. 反向代理

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

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

【docker】Nginx Proxy Manager 的使用

5. 使用

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

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

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

登录之后:

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

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

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

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

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

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

6. 后续

6.1 更新项目

代码语言:javascript
复制
cd /root/data/docker_data/picsur
docker-compose down
docker-compose pull
docker-compose up -d
docker image prune

6.2 卸载项目

代码语言:javascript
复制
cd /root/data/docker_data/picsur
docker-compose down
cd ..
rm -rf /root/data/docker_data/picsur
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-2-15 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前言
  • 2. 准备
  • 3. 部署
  • 4. 反向代理
  • 5. 使用
  • 6. 后续
    • 6.1 更新项目
      • 6.2 卸载项目
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档