## 场景
你是不是经常需要临时传个文件给别人?微信有 100MB 限制,QQ 要加好友,网盘要注册登录。Pingvin Share 是一个自建的文件分享工具,像临时网盘一样,上传文件生成链接就能分享。
## 特点
- 开源免费,Docker 一键部署
- 支持设置过期时间和下载次数限制
- 可以设置访问密码
- 界面简洁干净
- 支持反向分享(让别人上传文件给你)
## Docker Compose 部署
```yaml
version: '3'
services:
pingvin-share:
image: stonith404/pingvin-share:latest
container_name: pingvin-share
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./data:/opt/app/backend/data
environment:
- TZ=Asia/Shanghai
```
启动后访问 `http://你的IP:3000`,首次访问会引导你创建管理员账号。
## 配合 Nginx 反代
```nginx
server {
listen 443 ssl;
server_name share.yourdomain.com;
client_max_body_size 500M;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
注意 `client_max_body_size` 要设大一点,否则大文件上传会被 Nginx 拦截。
## 使用技巧
1. **临时分享**:设置 1 小时后过期,1 次下载后自动删除
2. **团队文件收集**:创建一个"收件箱"分享,让团队成员上传文件给你
3. **访客上传**:不需要注册,打开链接就能上传
4. **邮件通知**:配置 SMTP 后,可以设置有人上传时邮件通知你
## 对比网盘方案
| 对比项 | Pingvin Share | 百度网盘 | 阿里云盘 |
|--------|-------------|---------|--------|
| 隐私性 | 数据在自己服务器 | 数据在云端 | 数据在云端 |
| 上传限制 | 无(仅受磁盘限制) | 非会员限速 | 免费容量有限 |
| 分享控制 | 密码+过期+次数 | 密码+过期 | 密码+过期 |
| 对方注册 | 不需要 | 需要登录下载 | 需要登录下载 |
自建才是真正的"数据掌握在自己手里"。