精简提交历史记录
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
CONTAINER_NAME="pingvin-share"
|
||||
PANEL_APP_PORT_HTTP="40068"
|
||||
DATA_PATH="./data/data"
|
||||
UPLOAD_PATH="./data/images"
|
||||
@@ -0,0 +1,24 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40068
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: ./data/data
|
||||
edit: true
|
||||
envKey: DATA_PATH
|
||||
labelEn: Data folder path
|
||||
labelZh: 数据文件夹路径
|
||||
required: true
|
||||
type: text
|
||||
- default: ./data/images
|
||||
edit: true
|
||||
envKey: UPLOAD_PATH
|
||||
labelEn: Site icon path
|
||||
labelZh: 自定义站点图标路径
|
||||
required: true
|
||||
type: text
|
||||
@@ -0,0 +1,19 @@
|
||||
version: '3.8'
|
||||
services:
|
||||
pingvin-share:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:3000"
|
||||
volumes:
|
||||
- "${DATA_PATH}:/opt/app/backend/data"
|
||||
- "${UPLOAD_PATH}:/opt/app/frontend/public/img"
|
||||
image: stonith404/pingvin-share:v0.20.1@sha256:5ed28e90f9ee47c51eaab50ef6fb16dc45564a9fc121f55c62d3d5bed2db0448
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
126
apps/pingvin-share/README.md
Normal file
126
apps/pingvin-share/README.md
Normal file
@@ -0,0 +1,126 @@
|
||||
# <div align="center"><img src="https://user-images.githubusercontent.com/58886915/166198400-c2134044-1198-4647-a8b6-da9c4a204c68.svg" width="40"/> </br>Pingvin Share</div>
|
||||
|
||||
---
|
||||
|
||||
_选择合适的语言阅读: [西班牙语](https://github.com/stonith404/pingvin-share/blob/main/docs/README.es.md), [英语](https://github.com/stonith404/pingvin-share/blob/main/README.md), [简体中文](https://github.com/stonith404/pingvin-share/blob/main/docs/README.zh-cn.md)_
|
||||
|
||||
---
|
||||
|
||||
Pingvin Share 是一个可自建的文件分享平台,是 WeTransfer 的一个替代品
|
||||
|
||||
## ✨ 特性
|
||||
|
||||
- 通过可自定义后缀的链接分享文件
|
||||
- 可自定义任意大小的文件上传限制 (受制于托管所在的硬盘大小)
|
||||
- 对共享链接设置有效期限
|
||||
- 对共享链接设置访问次数和访问密码
|
||||
- 通过邮件自动发送共享链接
|
||||
- 整合 ClamAV 进行反病毒检查
|
||||
|
||||
## 🐧 了解一下 Pingvin Share
|
||||
|
||||
- [示例网站](https://pingvin-share.dev.eliasschneider.com)
|
||||
- [DB Tech 推荐视频](https://www.youtube.com/watch?v=rWwNeZCOPJA)
|
||||
|
||||
<img src="https://user-images.githubusercontent.com/58886915/225038319-b2ef742c-3a74-4eb6-9689-4207a36842a4.png" width="700"/>
|
||||
|
||||
## ⌨️ 自建指南
|
||||
|
||||
> 注意:Pingvin Share 仍处于开发阶段并且可能存在 bugs
|
||||
|
||||
### Docker 部署 (推荐)
|
||||
|
||||
1. 下载 `docker-compose.yml`
|
||||
2. 运行命令 `docker-compose up -d`
|
||||
|
||||
现在网站运行在 `http://localhost:3000`,尝试一下你本地的 Pingvin Share 🐧!
|
||||
|
||||
### Stand-alone 部署
|
||||
|
||||
必须的依赖:
|
||||
|
||||
- [Node.js](https://nodejs.org/en/download/) >= 16
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
- [pm2](https://pm2.keymetrics.io/) 用于后台运行 Pingvin Share
|
||||
|
||||
```bash
|
||||
git clone https://github.com/stonith404/pingvin-share
|
||||
cd pingvin-share
|
||||
|
||||
# 获取最新的版本
|
||||
git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
|
||||
|
||||
# 启动后端 backend
|
||||
cd backend
|
||||
npm install
|
||||
npm run build
|
||||
pm2 start --name="pingvin-share-backend" npm -- run prod
|
||||
|
||||
# 启动前端 frontend
|
||||
cd ../frontend
|
||||
npm install
|
||||
npm run build
|
||||
pm2 start --name="pingvin-share-frontend" npm -- run start
|
||||
```
|
||||
|
||||
现在网站运行在 `http://localhost:3000`,尝试一下你本地的 Pingvin Share 🐧!
|
||||
|
||||
### 整合组件
|
||||
|
||||
#### ClamAV (仅限 Docker 部署)
|
||||
|
||||
扫描上传文件中是否存在可疑文件,如果存在 ClamAV 会自动移除
|
||||
|
||||
1. 在 docker-compose 配置中添加 ClamAV 容器 (见 `docker-compose.yml` 注释部分) 并启动容器
|
||||
2. Docker 会在启动 Pingvin Share 前启动 ClamAV,也许会花费 1-2 分钟
|
||||
3. Pingvin Share 日志中应该有 "ClamAV is active"
|
||||
|
||||
请注意 ClamAV 会消耗很多 [系统资源(特别是内存)](https://docs.clamav.net/manual/Installing/Docker.html#memory-ram-requirements)
|
||||
|
||||
### 更多资源
|
||||
|
||||
- [群晖 NAS 配置](https://mariushosting.com/how-to-install-pingvin-share-on-your-synology-nas/)
|
||||
|
||||
### 升级
|
||||
|
||||
因为 Pingvin Share 仍处在开发阶段,在升级前请务必阅读 release notes 避免不可逆的改变
|
||||
|
||||
#### Docker 升级
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### Stand-alone 升级
|
||||
|
||||
1. 停止正在运行的 app
|
||||
```bash
|
||||
pm2 stop pingvin-share-backend pingvin-share-frontend
|
||||
```
|
||||
2. 重复 [installation guide](#stand-alone-installation) 中的步骤,除了 `git clone` 这一步
|
||||
|
||||
```bash
|
||||
cd pingvin-share
|
||||
|
||||
# 获取最新的版本
|
||||
git fetch --tags && git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
|
||||
|
||||
# 启动后端 backend
|
||||
cd backend
|
||||
npm run build
|
||||
pm2 restart pingvin-share-backend
|
||||
|
||||
# 启动前端 frontend
|
||||
cd ../frontend
|
||||
npm run build
|
||||
pm2 restart pingvin-share-frontend
|
||||
```
|
||||
|
||||
### 自定义品牌
|
||||
|
||||
你可以在管理员配置页面改变网站的名字和 logo
|
||||
|
||||
## 🖤 提交贡献
|
||||
|
||||
非常欢迎向 Pingvin Share 提交贡献! 请阅读 [contribution guide](https://github.com/stonith404/pingvin-share/blob/main/CONTRIBUTING.md) 来提交你的贡献
|
||||
20
apps/pingvin-share/data.yml
Normal file
20
apps/pingvin-share/data.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
name: Pingvin Share
|
||||
tags:
|
||||
- 工具
|
||||
title: 一个可自建的文件分享平台
|
||||
type: 工具
|
||||
description: 一个可自建的文件分享平台
|
||||
additionalProperties:
|
||||
key: pingvin-share
|
||||
name: Pingvin Share
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: 一个可自建的文件分享平台
|
||||
shortDescEn: s self-hosted file sharing platform
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://github.com/stonith404/pingvin-share
|
||||
github: https://github.com/stonith404/pingvin-share
|
||||
document: https://github.com/stonith404/pingvin-share
|
||||
4
apps/pingvin-share/latest/.env.sample
Normal file
4
apps/pingvin-share/latest/.env.sample
Normal file
@@ -0,0 +1,4 @@
|
||||
CONTAINER_NAME="pingvin-share"
|
||||
PANEL_APP_PORT_HTTP="40068"
|
||||
DATA_PATH="./data/data"
|
||||
UPLOAD_PATH="./data/images"
|
||||
24
apps/pingvin-share/latest/data.yml
Normal file
24
apps/pingvin-share/latest/data.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40068
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: ./data/data
|
||||
edit: true
|
||||
envKey: DATA_PATH
|
||||
labelEn: Data folder path
|
||||
labelZh: 数据文件夹路径
|
||||
required: true
|
||||
type: text
|
||||
- default: ./data/images
|
||||
edit: true
|
||||
envKey: UPLOAD_PATH
|
||||
labelEn: Site icon path
|
||||
labelZh: 自定义站点图标路径
|
||||
required: true
|
||||
type: text
|
||||
19
apps/pingvin-share/latest/docker-compose.yml
Normal file
19
apps/pingvin-share/latest/docker-compose.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
version: '3.8'
|
||||
services:
|
||||
pingvin-share:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:3000"
|
||||
volumes:
|
||||
- "${DATA_PATH}:/opt/app/backend/data"
|
||||
- "${UPLOAD_PATH}:/opt/app/frontend/public/img"
|
||||
image: stonith404/pingvin-share:latest
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
BIN
apps/pingvin-share/logo.png
Normal file
BIN
apps/pingvin-share/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.3 KiB |
Reference in New Issue
Block a user