分享一个开源的文件共享系统Pingvin Share,项目地址:https://github.com/stonith404/pingvin-share
这个项目的特性如下:
自定义文件上传大小的限制
可以设置自定义后缀分享链接
可以设置分享密码
支持右键发送共享链接
支持反病毒检查
接下来我们开始搭建,本次采用docker-compose的方式来搭建,所以提前安装好docker-compose。
- 新建一个目录,然后在这个目录里
vim docker-compose.yml
新建这个文件,复制以下内容到该文件里:
version: '3.8'
services:
pingvin-share:
image: stonith404/pingvin-share
restart: unless-stopped
ports:
- 3000:3000
volumes:
- "./data:/opt/app/backend/data"
- "./data/images:/opt/app/frontend/public/img"
# Optional: If you add ClamAV, uncomment the following to have ClamAV start first.
# depends_on:
# clamav:
# condition: service_healthy
# Optional: Add ClamAV (see README.md)
# ClamAV is currently only available for AMD64 see https://github.com/Cisco-Talos/clamav/issues/482
# clamav:
# restart: unless-stopped
# image: clamav/clamav
你可以按需来放开yml里的注释来启用clamav杀毒软件,这里我们就按照默认的注释掉。
在当前路径执行命令:
docker compose up -d
。然后就可以前台访问(前提是防火墙一定要放开3000端口)
http://ip:3000
端口了。我们前台开始使用,注册账号即可。注册之后,我们进行自定义配置即可。
可以设置你的APP名字,URL地址,LOGO图片等。URL地址这里就是你的IP和端口。若你设置了反向代理,就填写域名就行,也可以进行邮件相关的各种配置。
共享里可以配置是否允许注册,以及上传的最大限制等。
最后要演示的就是文件共享的功能了。我们返回到上传页面。点击上传,上传你需要的文件再点击共享按钮,设置过期时间和安全选项等,最后点击共享就OK了。在我的共享页面可以看到具体的过期时间和链接等详情。不过如果你真的打算要建立一个文件共享站,最好还是开启HTTPS以及配置域名反向代理。