在这篇教程中,我们将介绍如何通过 Seafile 和 OnlyOffice 打造一套功能强大的企业云盘与在线文档协作系统。通过 Docker Compose 部署,你可以轻松在 NAS 或服务器上搭建这套系统,实现高效的团队文件管理和在线协作。
Seafile 简介
Seafile 是一款国产开源的企业云盘,支持多种平台客户端(浏览器、Windows、Mac、Linux、Android、iOS)。它具有卓越的可靠性和性能,搭配 Seadoc 和 OnlyOffice 实现文档协作编辑,让文档管理和发布更加高效。
Seafile 的安装与配置
在本教程中,我们将以 Docker Compose 的方式在 飞牛NAS 上部署 Seafile,其他 NAS 也可以参考,稍作修改即可适用。
步骤 1:准备 Docker Compose 配置文件
创建 Docker Compose 配置文件 docker-compose.yml
,并填写以下内容:
services:
db:
image: mariadb:11.5.2
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
volumes:
- ./db:/var/lib/mysql
networks:
- seafile-net
memcached:
image: memcached:1.6.31
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:11.0-latest
container_name: seafile
ports:
- 50080:80
- 50443:443
volumes:
- ./data:/shared
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=password
- TIME_ZONE=Asia/Shanghai
- SEAFILE_ADMIN_EMAIL=admin
- SEAFILE_ADMIN_PASSWORD=123456
- SEAFILE_SERVER_HOSTNAME=192.168.1.112:50080
- SEAFILE_SERVER_LETSENCRYPT=false
- FORCE_HTTPS_IN_CONF=false
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
步骤 2:配置 Seafile 参数
重点修改以下几个参数:
SEAFILE_SERVER_HOSTNAME
:修改为你的服务器IP或域名。SEAFILE_ADMIN_EMAIL
和SEAFILE_ADMIN_PASSWORD
:用于设置管理员邮箱和密码。
保存并执行以下命令启动 Seafile:
docker-compose up -d
OnlyOffice Docs 的安装与配置
OnlyOffice 是一款开源的在线办公套件,支持多种文档格式(如 docx
, xlsx
, pptx
等),可与 Seafile 集成实现在线文档协作编辑。
步骤 1:准备 OnlyOffice 的 Docker Compose 配置
services:
documentserver:
stdin_open: true
tty: true
ports:
- 40080:80
restart: always
volumes:
- ./logs:/var/log/onlyoffice
- ./data:/var/www/onlyoffice/Data
- ./lib:/var/lib/onlyoffice
- ./db:/var/lib/postgresql
environment:
- JWT_SECRET=my_jwt_secret
image: onlyoffice/documentserver
步骤 2:启动 OnlyOffice
执行以下命令启动 OnlyOffice:
docker-compose up -d
你可以通过 http://服务器IP:40080
访问 OnlyOffice 的 Web 界面,确认服务已成功启动。
将 Seafile 与 OnlyOffice 集成
在 Seafile 的配置文件 seahub_settings.py
中,添加以下配置来集成 OnlyOffice:
# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http://192.168.1.112:40080/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx')
ONLYOFFICE_JWT_SECRET = 'my_jwt_secret'
ONLYOFFICE_APIJS_URL
:填写 OnlyOffice 的访问地址。ONLYOFFICE_JWT_SECRET
:填写 OnlyOffice 配置时的密钥。
保存配置并重启 Seafile:
docker-compose restart seafile
Seafile 与 OnlyOffice 使用
1. 登录 Seafile
通过浏览器访问 Seafile 的 Web 界面,输入管理员账号密码进行登录。
2. 新建文档并测试 OnlyOffice 集成
在 Seafile 中创建新的 Word 文档,打开时系统将调用 OnlyOffice 进行在线编辑。
自动保存配置
为避免因意外情况(如系统崩溃)导致文档丢失,你可以配置 OnlyOffice 自动保存功能:
创建 local.json
文件,内容如下:
{
"services": {
"CoAuthoring": {
"autoAssembly": {
"enable": true,
"interval": "5m"
}
}
}
}
将该文件放置在 onlyoffice-lib-documentserver
目录下,使其每 5 分钟自动保存一次。
总结
通过本教程,你可以轻松在树莓派或 NAS 上部署一套完整的 Seafile 云盘与 OnlyOffice 文档协作系统。这套系统不仅支持多平台访问,还提供了强大的在线文档编辑和协作功能,是个人和团队文件管理的理想解决方案。