Docker 篇十六:十分钟Docker搭建,内置在线格式转换的强大图床工具:Picsur
前言
上次分享在线IT工具箱后,有朋友问,是否有图片转换或文档格式转换之类的在线工具,这几天的确找到一个。
本篇咱们就来介绍一款github上免费开源的图床工具:Picsur。作者找不到满意的的开源可托管项目,索性自己做了个,因此Picsur比较纯粹,界面简洁,也比较易用。
惯例贴上项目链接,另外作者有做一个Demo,小伙伴们可以先行体验
功能不少,先大致浏览一下
功能特性一览
上传和查看图片
支持匿名上传
支持多账户
可分配用户角色和权限
适当的CORS限制
EXIF信息剥离(剥离掉譬如拍摄时间、地点、设备等敏感信息,隐私保护)
保留原原始图片
支持多种格式:QOI,JPG,PNG,WEBP(支持动画),TIFF,BMP,GIF(支持动画)
支持图片转换
编辑功能:尺寸、旋转、翻转、去透明度、负片、灰阶
图片删除
正确的数据库迁移
在列表中显示自己的图片
聊天正确显示预览内容
图片有效期设置
可接入Sharex API
支持 ARM64 和 AMD64 Docker 镜像
白色模式公共展示相册
后面三个功能作者还在开发中
Docker搭建
打开Container Station,选择【应用程序】,点击【创建】
开始创建
全部显示正在运行
作者提供代码,#为环境变量,##为重要提示
version: '3'
services:
picsur:
image: ghcr.io/caramelfur/picsur:latest
container_name: picsur
ports:
- '8080:8080'
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: picsur
# PICSUR_DB_DATABASE: picsur
## The default username is admin, this is not modifyable
# PICSUR_ADMIN_PASSWORD: picsur
## Optional, random secret will be generated if not set
# PICSUR_JWT_SECRET: CHANGE_ME
# PICSUR_JWT_EXPIRY: 7d
## Maximum accepted size for uploads in bytes
# 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: picsur
POSTGRES_USER: picsur
restart: unless-stopped
volumes:
- picsur-data:/var/lib/postgresql/data
volumes:
picsur-data:
我们修改后的代码
version: '3'
services:
picsur:
image: ghcr.io/caramelfur/picsur:latest
container_name: picsur
ports:
- '8186:8080' #8186可以改成其它可用端口
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: 1234abcd #确保和picsur_postgres:部分的 POSTGRES_PASSWORD 一致
PICSUR_DB_DATABASE: picsur
## 管理员账户为admin, 密码可自行设置
PICSUR_ADMIN_PASSWORD: adminadmin
## 可选,如果没有设置会默认生产随机字符
# PICSUR_JWT_SECRET: CHANGE_ME
# PICSUR_JWT_EXPIRY: 7d
## 最大可上传字节数,这里为默认未进行修改
PICSUR_MAX_FILE_SIZE: 128000000 # 128 MB
## 无需改动, 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: 1234abcd #上面提到保持一致的部分
POSTGRES_USER: picsur
restart: unless-stopped
volumes:
- ./picsur-data:/var/lib/postgresql/data # 默认数据存放在当前文件夹下的picsur-data目录中,可以自行修改
创建完毕后,默认数据存放目录
web端输入 NAS_IP:端口 ,我们这里为192.168.100.114:8186
点击界面,进行登录
管理员登陆,输入前面已经设置好的密码
上传一张图片
能正常使用,证明已成功搭建啦~
使用介绍
首先接上文截图,默认为JPG格式,我们选择PNG格式后,其它项都会随之更改
选择好格式后,鼠标移至右下角,会变成下载按钮,此处我们也可以进行分享(可设置有效期)、自定义图像、删除等操作
图片下载成功
可进行高、宽、翻转等多项调整
【My Images】
可以看到上传的图片记录,点击图片对应的【VIEW】,可进行上文中的操作
【Settings】
第一项,为保留原始画质,作者考虑到大部分人需求,此功能默认关闭,我们若有需要可开启
第二项,是创建API,点击右下角即可创建
第三项,跟上面是联动的,笔者没试过具体功能,有兴趣的朋友可以试试
第四项,为用户组,可以为朋友或其他人创建账户
第五项,为设置账户权限规则,默认情况下游客仅有登录、查看图片、删除三个权限,点击下图的修改键进行修改
我们为游客新增一个创建用户权限,并点击【UPDATE】
再次进入登录界面,就可以看到【REGISTER】,点击即可创建新用户。同样,其它比如上传之类的权限都可以赋予。
赋权后,游客也能上传、修改和下载图片!
最后一项,为系统设置,也没啥好讲的,可以修改最大缓存保留时间等设置
总结
总之这款图床工具简洁好用,搭建起来也非常简单,有兴趣的小伙伴可以一试。咱们日常写文章、博客用到的图片都可以存到这个图床里,不少平台都有图片大小或格式的上传限制,通过这个工具即可轻松秒解。
目前的小问题就是中文支持,以及未上线的几个功能,有条件的朋友可以去给作者点点star或留言催促更新
本次分享到此结束,感谢观看!