侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 84 篇文章
  • 累计创建 31 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

线上协同办公?用NAS搭建一套私有化办公系统

羊刀仙
2024-09-10 / 0 评论 / 0 点赞 / 150 阅读 / 4837 字
温馨提示:
本文最后更新于 2024-09-10,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

大家好,我是羊刀仙。

本期带来的是开源办公套件 ONLYOFFICE 社区版的 NAS Docker 部署教程。仅需一台NAS(适用于 64 位 ARM 架构),无需额外费用即可实现在线编辑、协同办公等诸多功能,并且无广告。

介绍

ONLYOFFICE目前应该是使用率仅次于微软Microsoft 365的办公套件。

官网主页.png

正如图中所看到的,ONLYOFFICE 文档服务器是一个在线办公套件,目前全平台覆盖支持,可直接下载软件或通过各类方式安装使用。

其包含文本、电子表格、PDF和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式:.docx、.xlsx、.pptx,支持所有流行格式:DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX、HTML,并支持实时协作编辑。

协同、实时工作记录,所有常用功能都十分齐全。

界面展示.png

word转PDF转图片,excl转PDF转图片等,各类文档间的互相转换。

下载为.png

还具备特色功能,支持海量好用插件:chatgpt、代码高亮、快速翻译、Markdown编辑、图标编辑等。

插件.png

值得说的点不要太多,建议有办公套件需求的朋友去亲身体验。

部署流程

以威联通NAS为例,使用Container Station通过Docker Compose进行部署。

打开文件总管,准备文件夹,命名为onlyoffice

准备文件夹-hewu.png

打开Container Station,创建新的应用程序。

创建应用程序-pdds.png

代码如下,除了文件映射部分/share/Container/onlyoffice改成你自己的,其他地方都没啥:

version: '3'

services:
  onlyoffice-documentserver:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice-documentserver
    depends_on:
      - onlyoffice-postgresql
      - onlyoffice-rabbitmq
    environment:
      - DB_TYPE=postgres
      - DB_HOST=onlyoffice-postgresql
      - DB_PORT=5432  # PostgreSQL 数据库使用的端口是 5432
      - DB_NAME=onlyoffice
      - DB_USER=onlyoffice
      - AMQP_URI=amqp://guest:guest@onlyoffice-rabbitmq
      # Uncomment strings below to enable the JSON Web Token validation.
      - JWT_ENABLED=true 
      - JWT_SECRET=AllM5A3qSjoLFXdCYorYi4F5MDjlb13p # 这里部署完了可以手动生成
      - JWT_HEADER=Authorization
      #- JWT_IN_BODY=true
    ports: # 将主机的端口 80 和 443 映射到容器,分别用于 HTTP 和 HTTPS 访问,冒号左侧可自行修改
      - '8898:80'  
      - '8899:443'
    stdin_open: true
    restart: always
    stop_grace_period: 60s
    volumes:
      - /share/Container/onlyoffice/Data:/var/www/onlyoffice/Data
      - /share/Container/onlyoffice/log:/var/log/onlyoffice
      - /share/Container/onlyoffice/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files
      - /share/Container/onlyoffice/public_files:/var/www/onlyoffice/documentserver-example/public/files
      - /share/Container/onlyoffice/fonts:/usr/share/fonts

  onlyoffice-rabbitmq:
    container_name: onlyoffice-rabbitmq
    image: rabbitmq
    restart: always
    expose:
      - '5672'

  onlyoffice-postgresql:
    container_name: onlyoffice-postgresql
    image: postgres:12
    environment:
      - POSTGRES_DB=onlyoffice
      - POSTGRES_USER=onlyoffice
      - POSTGRES_HOST_AUTH_METHOD=trust
    restart: always
    expose:
      - '5432'
    volumes:
      - /share/Container/onlyoffice/postgresql_data:/var/lib/postgresql

volumes:
  postgresql_data:

按照上文,部署完毕后,web输入NAS_IP:8898即可访问到服务。

欢迎界面.png

接着打开ssh工具,连接NAS,依次输入上图所示内容。

sudo docker exec 3ed14b9b80d3 sudo supervisorctl start ds:example

sudo docker exec 3ed14b9b80d3 sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf

3ed14b9b80d3其实就是onlyoffice的镜像ID,不过自动帮咱们列出来了,所以直接复制命令行即可。中间会要求输入NAS密码,需要盲打。具体如下图所示。

6666.png

此时web输入 NAS_IP:8898/example/ 便可访问到实例并进行使用。

反向代理

若要实现HTTPS安全外网访问,则需要我们进行反向代理并配置SSL证书。我们借助Lucky来一并实现,Lucky的部署使用教程参考往期文章。

文章链接:

具体子规则配置如下图所示。

lucky-gjpt.png

我的Lucky监听端口为8880,如上图配置,web我们输入 https://office.xxx.xyz:8880/example/ 即可。

进入实例.png

至此我们私有化的服务就已经部署好,可以进行使用。

关于使用

除了web直接使用example,常规的有两种方式有两种。

集成到其他平台

可以通过即用型连接器,将 ONLYOFFICE 文档或协作空间集成到常用平台中,例如DzzOffice,WordPress,Nextcloud,Zoom等。当然并不局限于这些,覆盖的可接入平台非常多。目前使用比较多的有Nextcloud和DzzOffice。

连接器.png

也更建议大家使用这种方式,省时省力,一般来说输入个 ONLYOFFICE 的服务访问地址即可,例如 NAS_IP:8898 这种。

使用 ONLYOFFICE 的 API

ONLYOFFICE 提供了丰富的 API,允许开发者通过编程接口控制文档创建、编辑、保存等操作,将其嵌入到项目或网页中。具体的文档可以在下图的欢迎界面点击跳转。

api入口.png

不过具体该怎么设置,这完全是我的盲区,有兴趣有能力的朋友可以自行研究分享。

div.png

0

评论区