本文完成于
2
月上旬。最近正好应网友要求折腾了ClamAV
,所以翻出来一起发了,可以作为ClamAV
的一个应用示例;
什么是 Pingvin Share ?
Pingvin Share
是自托管文件共享平台,是WeTransfer
的替代品。使用Pingvin Share
,您可以共享的文件大小没有限制,只有您的磁盘才是您的限制。
如果不想自己搭建,可以去看看官方演示站点:https://pingvin-share.dev.eliasschneider.com
什么是 ClamAV ?
ClamAV®
是一种开源防病毒引擎,用于检测木马、病毒、恶意软件和其他恶意威胁。
Pingvin Share
支持使用 ClamAV
来扫描是否有恶意文件,如果发现则删除。官方的 docker-compose.yml
中有该部分的内容,老苏已取消了注释,启用了 ClamAV
来扫描上传的附件
在群晖上以 Docker 方式安装。
在注册表中搜索 pingvin-share
,选择第一个 stonith404/pingvin-share
,版本选择 latest
。
本文写作时,
latest
版本对应为v0.9.0
;发文时,已是v0.15.0
,界面也有变化,懒得再重新截图了,凑合看吧
在 docker
文件夹中,创建一个新文件夹 pingvin-share
,并在其中建一个子文件夹 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/pingvin-share/data |
/opt/app/backend/data |
存放数据库和上传文件等 |
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
3040 |
3000 |
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 pingvin-share 和 子目录
mkdir -p /volume2/docker/pingvin-share/data
# 进入 pingvin-share 目录
cd /volume2/docker/pingvin-share
# 运行容器
docker run -d \
--restart unless-stopped \
--name pingvin-share \
-p 3040:3000 \
-v $(pwd)/data:/opt/app/backend/data \
stonith404/pingvin-share:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
下面的示例,已经启用了
ClamAV
;
version: '3.8'
services:
pingvin-share:
image: stonith404/pingvin-share
container_name: ps-web
restart: unless-stopped
ports:
- 3040:3000
volumes:
- "./data:/opt/app/backend/data"
# 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:
image: clamav/clamav
container_name: ps-clamav
restart: unless-stopped
volumes:
- "./cdata:/var/lib/clamav"
然后执行下面的命令
# 新建文件夹 pingvin-share 和 子目录
mkdir -p /volume2/docker/pingvin-share/{data,cdata}
# 进入 pingvin-share 目录
cd /volume2/docker/pingvin-share
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
在浏览器中输入 http://群晖IP:3040
就能看到注册界面
注意:密码不能少于
8
个字符
登录后还有一些需要设置的内容
APP URL
如果局域网使用,就用 IP
,如果做了反向代理,就用域名,老苏将 http://localhost:3000
改为了 http://192.168.0.197:3040
其他的可以根据需要设置,比如 smtp
点 Send test email
,如果设置没问题的话,右下角会有成功的提示
主界面非常清爽
上传一个要分享的文件
点 Share
按钮
点 Generate
生成共享连接,还能设置分享时间、密码、描述等等
设置完成之后,就可以将链接发给别人了
stonith404/pingvin-share: A self-hosted file sharing platform.
地址:https://github.com/stonith404/pingvin-share