在这篇教程中,我们将介绍如何通过 SeafileOnlyOffice 打造一套功能强大的企业云盘在线文档协作系统。通过 Docker Compose 部署,你可以轻松在 NAS 或服务器上搭建这套系统,实现高效的团队文件管理在线协作


Seafile 简介

Seafile 是一款国产开源的企业云盘,支持多种平台客户端(浏览器、WindowsMacLinux、Android、iOS)。它具有卓越的可靠性和性能,搭配 SeadocOnlyOffice 实现文档协作编辑,让文档管理和发布更加高效。

Seafile 概述


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_EMAILSEAFILE_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 界面,输入管理员账号密码进行登录。

Seafile 登录

2. 新建文档并测试 OnlyOffice 集成

在 Seafile 中创建新的 Word 文档,打开时系统将调用 OnlyOffice 进行在线编辑。

调用 OnlyOffice 编辑文档


自动保存配置

为避免因意外情况(如系统崩溃)导致文档丢失,你可以配置 OnlyOffice 自动保存功能:

创建 local.json 文件,内容如下:

{
  "services": {
    "CoAuthoring": {
      "autoAssembly": {
        "enable": true,
        "interval": "5m"
      }
    }
  }
}

将该文件放置在 onlyoffice-lib-documentserver 目录下,使其每 5 分钟自动保存一次。


总结

通过本教程,你可以轻松在树莓派或 NAS 上部署一套完整的 Seafile 云盘与 OnlyOffice 文档协作系统。这套系统不仅支持多平台访问,还提供了强大的在线文档编辑和协作功能,是个人和团队文件管理的理想解决方案。


相关资源下载: https://gitee.com/hswz5525/dockercompose

END
cc
最后修改:2024 年 10 月 24 日
如果觉得我的文章对你有用,请随意赞赏