首页
/ 使用Docker Compose部署Filestash文件管理系统的完整指南

使用Docker Compose部署Filestash文件管理系统的完整指南

2025-07-06 04:57:14作者:江焘钦

Filestash是一个功能强大的自托管文件管理系统,它提供了类似网盘的界面,支持多种存储后端。本文将详细介绍如何使用Docker Compose快速部署Filestash系统,包括主应用和协作办公组件。

系统架构概述

这个Docker Compose配置定义了两个主要服务:

  1. Filestash主应用:提供核心文件管理功能
  2. 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端口映射到主机

部署步骤

  1. 确保已安装Docker和Docker Compose
  2. 创建名为docker-compose.yml的文件,复制上述配置内容
  3. 在终端中运行:docker-compose up -d
  4. 等待镜像下载和容器启动完成
  5. 访问http://localhost:8334使用Filestash

数据持久化

配置中定义了一个名为filestash的Docker卷,用于持久化存储Filestash的应用状态数据。这意味着即使容器重启或重建,用户配置和状态信息也不会丢失。

安全注意事项

  1. 当前配置禁用了WOPI服务器的SSL,仅适合测试或内网环境
  2. 生产环境应考虑:
    • 启用HTTPS
    • 设置适当的身份验证
    • 限制网络访问
  3. 定期更新镜像以获取安全补丁

常见问题解决

  1. 端口冲突:如果8334或9980端口已被占用,修改ports配置中的主机端口
  2. 样式加载失败:如果自定义样式无法下载,可以移除相关命令或提供替代URL
  3. 性能问题:对于大型部署,应考虑增加资源限制和优化配置

进阶配置建议

  1. 集成外部存储后端(如S3、SFTP等)
  2. 配置邮件服务用于通知
  3. 设置定期备份策略
  4. 启用日志监控

通过这个Docker Compose配置,您可以快速搭建一个功能完整的Filestash系统,既包含了核心文件管理功能,又集成了在线文档编辑能力,适合个人或小型团队使用。