使用Docker Compose部署Filestash文件管理系统的完整指南
2025-07-06 04:57:14作者:江焘钦
Filestash是一个功能强大的自托管文件管理系统,它提供了类似网盘的界面,支持多种存储后端。本文将详细介绍如何使用Docker Compose快速部署Filestash系统,包括主应用和协作办公组件。
系统架构概述
这个Docker Compose配置定义了两个主要服务:
- Filestash主应用:提供核心文件管理功能
- WOPI服务器(Collabora Online):提供在线文档编辑功能
两个服务通过Docker网络相互通信,形成一个完整的文件管理和协作办公解决方案。
详细配置解析
Filestash主应用配置
app:
container_name: filestash
image: machines/filestash:latest
restart: always
environment:
- APPLICATION_URL=
- CANARY=true
- OFFICE_URL=http://wopi_server:9980
- OFFICE_FILESTASH_URL=http://app:8334
- OFFICE_REWRITE_URL=http://127.0.0.1:9980
ports:
- "8334:8334"
volumes:
- filestash:/app/data/state/
关键配置说明:
- image:使用官方提供的最新版Filestash镜像
- restart: always:确保容器意外退出后自动重启
- 环境变量:
APPLICATION_URL
:留空表示使用默认配置CANARY=true
:启用最新功能(可能不稳定)OFFICE_*
系列变量:配置与WOPI服务器的集成
- 端口映射:将容器内的8334端口映射到主机的8334端口
- 数据卷:将应用状态数据持久化存储
WOPI服务器配置
wopi_server:
container_name: filestash_wopi
image: collabora/code:24.04.10.2.1
restart: always
environment:
- "extra_params=--o:ssl.enable=false"
- aliasgroup1="https://.*:443"
command:
- /bin/bash
- -c
- |
curl -o /usr/share/coolwsd/browser/dist/branding-desktop.css https://gist.githubusercontent.com/mickael-kerjean/bc1f57cd312cf04731d30185cc4e7ba2/raw/d706dcdf23c21441e5af289d871b33defc2770ea/destop.css
/bin/su -s /bin/bash -c '/start-collabora-online.sh' cool
user: root
ports:
- "9980:9980"
关键配置说明:
- image:使用Collabora Online的特定版本镜像
- SSL配置:禁用了SSL(适合内网使用,生产环境应考虑启用)
- 自定义命令:下载并应用自定义样式表后启动服务
- 端口映射:将协作服务的9980端口映射到主机
部署步骤
- 确保已安装Docker和Docker Compose
- 创建名为
docker-compose.yml
的文件,复制上述配置内容 - 在终端中运行:
docker-compose up -d
- 等待镜像下载和容器启动完成
- 访问
http://localhost:8334
使用Filestash
数据持久化
配置中定义了一个名为filestash
的Docker卷,用于持久化存储Filestash的应用状态数据。这意味着即使容器重启或重建,用户配置和状态信息也不会丢失。
安全注意事项
- 当前配置禁用了WOPI服务器的SSL,仅适合测试或内网环境
- 生产环境应考虑:
- 启用HTTPS
- 设置适当的身份验证
- 限制网络访问
- 定期更新镜像以获取安全补丁
常见问题解决
- 端口冲突:如果8334或9980端口已被占用,修改
ports
配置中的主机端口 - 样式加载失败:如果自定义样式无法下载,可以移除相关命令或提供替代URL
- 性能问题:对于大型部署,应考虑增加资源限制和优化配置
进阶配置建议
- 集成外部存储后端(如S3、SFTP等)
- 配置邮件服务用于通知
- 设置定期备份策略
- 启用日志监控
通过这个Docker Compose配置,您可以快速搭建一个功能完整的Filestash系统,既包含了核心文件管理功能,又集成了在线文档编辑能力,适合个人或小型团队使用。