开源Filestash 搭建“多合一”文件管理器
开源Filestash 搭建指南
- 一、Filestash 核心定位
- 解决痛点
- 产品定位
- 二、核心功能全景
- 三、详细搭建教程(Docker方案)
- 基础要求
- 访问控制台
- 四、存储后端配置实战
- 案例1:连接SFTP服务器
- 案例2:接入AWS S3存储桶
- 五、企业级功能实操
- 在线协作
- 审计日志
- 六、性能优化方案
- Nginx反向代理配置
- HTTPS配置(Let's Encrypt)
- 资源限制策略
- 七、故障排除指南
- 八、同类产品对比
- 九、适用场景建议
官方网址:https://www.filestash.app/
一、Filestash 核心定位
主要功能:是一个功能强大的“多合一”文件管理器。它可以让你直接用网页浏览器管理分散在各个地方的文件,比如 SFTP、Google Drive、FTP、WebDAV、Git 仓库等。它既是你的文件管家,也是随身的百宝箱,支持在线播放音乐、视频,还能像网盘一样生成分享链接。不管是开发、日常文件管理,还是公司内部存储整合,这个项目都能轻松应对。
解决痛点
- 企业数据分散在FTP/SFTP/S3/WebDAV等不同存储,管理困难
- 需要简洁安全的文件共享方案,替代臃肿的Nextcloud/ownCloud
- 快速实现私有化网盘部署,避免公有云数据泄露风险
产品定位
- 轻量级:单个Docker容器即可运行(资源占用<100MB)
- 协议聚合器:统一管理多种存储后端
- 零客户端依赖:纯Web端操作,移动设备完美适配
二、核心功能全景
功能类别 | 具体能力 |
---|---|
存储支持 | FTP/SFTP/S3/MinIO/WebDAV/Backblaze/Dropbox/Git/MySQL等20+协议 |
文件管理 | 在线预览(Office/PDF/图片/视频)、压缩解压、批量操作、回收站 |
安全控制 | 双因素认证、IP白名单、文件加密链接、审计日志 |
协同办公 | 文件分享(密码/时效控制)、在线编辑(OnlyOffice集成)、评论标注 |
扩展能力 | Webhook通知、自定义CSS/JS、插件系统(Go语言开发) |
三、详细搭建教程(Docker方案)
基础要求
- Linux服务器 (1核1G+)
- Docker & Docker Compose
- 域名(可选,推荐配置)
# 创建数据目录
mkdir -p /opt/filestash/{data,config}
mkdir -p /opt/filestash/data/state/log
tree /opt/filestash/data -L 3
chmod -R 775 /opt/filestash/data
chown -R 1000:1000 /opt/filestash/data# 1. 创建docker-compose.yml
cat > /opt/filestash/docker-compose.yml <<EOF
version: '3'
services:filestash:image: machines/filestashcontainer_name: filestashuser: "1000"environment:- APP_SECRET=your_strong_password_here # 安全密钥- LISTEN_PORT=8334 # 监听端口volumes:- /opt/filestash/data:/app/data:rw # 持久化数据- /opt/filestash/config:/app/config # 配置文件ports:- "8334:8334" # 主机端口:容器端口restart: unless-stopped
EOF# 2. 启动服务
docker-compose -f /opt/filestash/docker-compose.yml up -d# 3. 验证状态
docker logs filestash --tail 50
如果配置有问题
重建容器(强制更新配置)
docker-compose down
docker-compose up -d --force-recreate
访问控制台
http://服务器IP:8334 → 首次登录设置管理员账户密码,然后进入后台
如果没有FTP或者S3存储,可直接选择local 使用本地进行存储
重新访问http://服务器IP:8334
密码为上面首次登录设置管理员账户密码
四、存储后端配置实战
案例1:连接SFTP服务器
- 控制台点击 “+” → 选择 SFTP
- 参数配置:
主机: sftp.yourcompany.com
端口: 22
用户名: deploy
认证方式: - 密码认证(推荐密钥认证)- 私钥路径: /app/config/ssh_key # 需提前挂载密钥
- 高级选项:
根目录: /data/team_docs # 限制访问路径
文件过滤: *.docx,*.xlsx # 只显示办公文档
案例2:接入AWS S3存储桶
服务提供商: AWS S3
区域: ap-southeast-1
存储桶名称: company-backup
访问密钥: AKIAXXXXXXXXXXXXXXXX
秘密密钥: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
访问策略: - 只读模式(禁止删除)- 文件大小限制: <500MB
五、企业级功能实操
在线协作
# 启用OnlyOffice集成
1. 编辑config.ymloffice_editing: enabled: trueapi_url: "http://onlyoffice-server"2. 重启服务
docker-compose restart
审计日志
日志路径:/opt/filestash/data/logs/audit.log
[2023-10-27 14:30:22] User:admin@company.com IP:172.16.1.23
Action: DOWNLOAD File:"/财务报告Q3.pdf"
六、性能优化方案
Nginx反向代理配置
server {listen 80;server_name files.yourdomain.com;location / {proxy_pass http://localhost:8334;proxy_set_header X-Real-IP $remote_addr;# WebSocket支持proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}# 强制HTTPSreturn 301 https://$host$request_uri;
}
HTTPS配置(Let’s Encrypt)
certbot --nginx -d files.yourdomain.com
资源限制策略
# 修改docker-compose.yml
deploy:resources:limits:memory: 512Mreservations:memory: 256M
七、故障排除指南
故障现象 | 排查命令 | 解决方案 |
---|---|---|
无法加载存储后端 | docker exec filestash netstat -tunlp | 检查端口连通性 |
文件上传中断 | tail -f /opt/filestash/data/logs/error.log | 调整Nginx超时设置 |
预览功能失效 | 浏览器F12查看Console错误 | 检查OnlyOffice服务状态 |
登录后闪退 | rm /opt/filestash/config/.session_* | 清除会话缓存 |
八、同类产品对比
特性 | Filestash | Nextcloud | Seafile |
---|---|---|---|
部署复杂度 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
存储协议支持 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
移动端体验 | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
集群支持 | ❌ | ✅ | ✅ |
资源占用 | <100MB | >1GB | >500MB |
九、适用场景建议
- 推荐使用
- 中小企业统一文件门户
- 开发团队管理服务器文件
- 替代FTP客户端的Web方案
- 临时安全文件分享场景
- 不推荐使用
- 需要完整日历/邮件套件
- 超大规模分布式存储
- 需要精细权限控制(AD集成弱)