本文发布于181天前,最后更新于139天前,其中的信息可能有所发展或是发生改变。
1. 前言
夜梦在以前的文章中已经介绍了多种图床的部署,例如:
- 兰空图床:【宝塔】兰空图床 快速部署 / 【docker】兰空图床
- 简单图床:简单图床,真的简单!EasyImage搭建/使用教程
在这篇文章中,夜梦介绍另一个好用的图床项目: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_PASSWORD
和PICSUR_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:
完成后,我们开始部署:
代码语言: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