文件共享平台Pingvin Share

在这里插入图片描述

本文完成于 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 端口号
本地端口容器端口
30403000

在这里插入图片描述

命令行安装

如果你熟悉命令行,可能用 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-sharecontainer_name: ps-webrestart: unless-stoppedports:- 3040:3000volumes:- "./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/482clamav:image: clamav/clamavcontainer_name: ps-clamavrestart: unless-stoppedvolumes:- "./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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14623.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【爬虫学习】1、利用get方法对豆瓣电影数据进行爬取

♥️作者:白日参商 🤵‍♂️个人主页:白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油&#xff01…

elk高并发架构

1.前言 普通的elk架构只适合数据量小的情景,而且也不安全,在瞬时数据量大的情况下可能会导致logstash崩溃,从而导致数据的丢失,对于数据安全有较高要求,可以在架构中加入消息队列,既可以防止瞬时的大流量并…

vue 进阶---动态组件 插槽 自定义指令

目录 动态组件 如何实现动态组件渲染 使用 keep-alive 保持状态 keep-alive 对应的生命周期函数 keep-alive 的 include 属性和exclude属性 插槽 插槽的基础用法 具名插槽 作用域插槽 自定义指令 自定义指令的分类 私有自定义指令 全局自定义指令 了解 eslint 插件…

B/S版手术麻醉系统源码,基于php、mysql和vue2开发

手术麻醉系统是一套以数字形式与医院信息系统(如HIS、EMR、LIS、PACS等)和医疗设备等软、硬件集成并获取围手术期相关信息的计算机系统,其核心是对围手术期患者信息自动采集、储存、分析并呈现。该系统通过整合围手术期中病人信息、人员信息、…

IPV6使用越来越广,您会配置吗?

前面针对IPv6写过一篇文章,但是好多网友反映没有读懂,今天再给大家把内容浓缩一下,教给大家如何配置。 IPV6的推出主要是为了解决地址空间的不足,从而进一步的促进互联网的发展。IPV6地址空间大到惊人,有人比喻地球上…

时间序列预测 | Matlab灰狼算法(GWO)优化极限梯度提升树XGBoost时间序列预测,GWO-XGBoost时间序列预测模型,单列数据输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab灰狼算法(GWO)优化极限梯度提升树XGBoost时间序列预测,GWO-XGBoost时间序列预测模型,单列数据输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及…

Spring boot +React集成ChatGPT 智能AI

在这里插入代码片import {Button, Input, Radio,Alert,Modal } from antd; import Marquee from react-fast-marquee; import {ChromeOutlined,WifiOutlined,AimOutlined } from ant-design/icons; import React, {useEffect, useState, useRef} from react; import chatgptPn…

服务器数据恢复-raid10重建为raid6的数据恢复案例

服务器故障: 一台IBM V7000存储中的vdisk丢失,Solaris操作系统中的部署的Oracle数据库不可用。经过和工作人员的沟通得知故障原因:工作人员进行重建MDisk的操作,将原先的raid10重建为raid6,然后又再次重建为raid10&…

网络编程4——TCP协议的三大安全机制:三次握手四次挥手+确认应答机制+超时重传机制

文章目录 前言一、TCP协议段与机制TCP协议的特点TCP报头结构TCP协议的机制与特性 二、TCP协议的 连接管理机制 TCP建立连接:三次握手 TCP断开连接:四次挥手 三、TCP协议的 确认应答机制 四、TCP协议的 超时重传机制 总结 前言 本人是一个刚刚上路的I…

【Ubuntu学习MySQL——安装MySQL】

首先得su,然后输入密码,进入到root模式下,以下命令均在root用户模式下进行 1.在这里我们使用RPM包来安装Mysql,所以首先安装RPM包 apt install rpm2.安装完RPM包之后,检测系统是否自带安装MySQL,如果没有…

部署Git服务器

哈喽,大家好,本次为大家演示如何部署git服务器. 首先要准备gitea和phpstudy_pro phpstudy一路nest即可,可以帮你安装mysql和阿帕奇。 登录127.0.0.1:3000注册gitea即可。 如何在上传公钥的时候出现500的错误,加入这句便可解决…

vue运行background-removal-js库

前段时间在github上有个能在浏览器扣图的js库蛮火https://github.com/imgly/background-removal-js 演示网站:demo 不仅仅能将人物主体扣出,还能处理动物、植物等 最近我萌发出在vue中运行这个库的想法,记录一下 下载、配置 首先当然是通…