当前位置: 首页 > news >正文

Docker+cpolar 实战:打造灵活可控的远程办公系统

在这里插入图片描述
在这里插入图片描述

文章目录

    • 1. 安装Docker
    • 2. 本地安装部署ONLYOFFICE
    • 3. 安装cpolar内网穿透
    • 4. 固定OnlyOffice公网地址

还在为团队协作时文件反复修改、版本混乱而头疼吗?当疫情常态化让混合办公成为常态,一个能实时协同编辑的私有化文档系统变得至关重要。今天要介绍的解决方案组合——ONLYOFFICE社区版与cpolar内网穿透工具,或许正是你等待的那个"数字瑞士军刀"。

作为开源界的明星产品,ONLYOFFICE提供了堪比商业软件的强大功能:支持.docx/.xlsx/.pptx格式实时协同编辑、评论批注系统、甚至能与Jira/CRM系统深度集成。通过Docker容器化部署,这套完整的在线办公套件能在任何Linux服务器上快速启动——无需关心复杂的依赖安装。

1. 安装Docker

本文演示环境:CentOS7,Xshell7远程ssh

没有安装Docker的小伙伴需安装Docker,已有Docker可跳过以下步骤。

如没有安装Docker,需先安装Docker:

  • 安装软件包(提供实用程序)并设置存储库

    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    安装Docker引擎

    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

    启动Docker

    sudo systemctl start docker
    

    通过运行映像来验证 Docker 引擎安装是否成功

    sudo docker run hello-world
    

2. 本地安装部署ONLYOFFICE

检查Docker服务是否正常运行

systemctl status docker

启动Docker

systemctl start docker

查看Docker版本

docker -v

在docker hub下载OnlyOffice镜像

sudo docker pull onlyoffice/documentserver:7.3

将本机的9000端口映射到docker的80端口上,访问时通过服务器ip:9000访问

并且用 -v 将本机机==/home/onlyOffice==文件夹挂载到docker的 /var/www/onlyoffice/documentserver/web-apps/wsData文件下,后续直接通过http请求读取对应的文件夹。JWT_SECRET填写自己定义的密钥,JWT_ENABLED设置为true开启token验证。

指定密钥和开启token

docker run -i -t -d -p 9000:80 -v /home/myOnlyOffice:/var/www/onlyoffice/documentserver/web-apps/wsData --env JWT_SECRET=VI71S3cGtXg96HgFWzQhblz1KwMc1Jzk -e JWT_ENABLED=true onlyoffice/documentserver:7.3

测试OnlyOffice服务

访问网址:192.168.11.129:9000,需要以IP加端口方式访问,不能用localhost访问。

de1cb50f91bd38c63db604bf46fffa2

我们就成功在本地搭建了OnlyOffice,但如果想实现出门在外,或者企业之间想在公网同步访问进行工作协作,省去本地部署的步骤,就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现OnlyOffice的公网访问!

3. 安装cpolar内网穿透

下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

接下来配置一下OnlyOfficeF的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个OnlyOffice的公网http地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:9000(本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

3539e483587ef2f683956fdcfd12fb7

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

117b84e11cd99e51f68937162e8ba61

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到OnlyOffice界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到公网进行远程访问了!

ffc32ee5e9af3141edd931f503c3cf6

小结

如果我们需要长期异地远程访问OnlyOffice,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问OnlyOffice,我们可以选择创建一个固定的http地址来解决这个问题。

4. 固定OnlyOffice公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

714642c66bf8535b0d59d25f500fb3c

保留成功后复制保留成功的二级子域名的名称

d5f61ee1cedbb6f030fb2af8fb55fdc

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

bd58fbfc22c07d65099a1c1939e23c3

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

b339cade367481fc61281867ea81798

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

d8509f21e56c4114f878c9c22dd9ab7

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地进行异地访问OnlyOffice!

21cb2a8e25afb2e98eb453850ea3ebc

“当技术普惠遇上创新工具,我们终于可以摆脱商业服务的束缚。这个低成本解决方案证明:掌控自己数据命运的成本,或许比你想象中低得多——现在就去GitHub看看ONLYOFFICE+cpolar能为你的团队带来什么改变吧!”

http://www.dtcms.com/a/390417.html

相关文章:

  • uniApp开发XR-Frame微信小程序 | 设置透明贴图
  • M3 Ultra版Mac Studio无法正常升级到macOS 26.0 苹果已经在调查
  • 老的ios项目在新的mac M1上编译运行遇到的问题及整理
  • Java 大视界 -- Java 大数据机器学习模型在元宇宙虚拟场景智能交互中的关键技术
  • 2025年目标检测还有什么方向好发论文?
  • 离线openHarmonySdk鸿蒙系统动态库的封装
  • 从零实现鸿蒙智能设备数据采集:权限、传感器、云端上传全流程实战
  • 智慧医院IBMS中央集成系统解决方案:构建医疗安全优先的智慧运营中枢​
  • ✅ Python房源数据采集+分析+预测平台 requests爬虫+sklearn回归 大数据实战项目(建议收藏)机器学习(附源码)
  • 结婚证 OCR 识别:政务服务提速的 “关键一环”
  • Git企业开发--多人协作
  • 【论文阅读 | IF 2025 | IF-USOD:用于水下显著目标检测的多模态信息融合交互式特征增强架构】
  • 【14/20】安全强化:HTTPS 和率限制在 Express 中的应用,实现防护机制
  • C#调用钉钉API实现安全企业内部通知推送
  • MyBatis与MyBatis-Plus区别
  • 数据血缘探秘:用SQL串联不同数据源的脉络
  • 多线程程序性能优化:缓存命中率与伪共享深度剖析
  • Spring Boot支持哪些类型的自定义配置文件?
  • uniapp:scss变量使用方法
  • postman接口测试系列: 时间戳和加密
  • 模型蒸馏demo
  • 【JVM】Java中有哪些垃圾回收算法?
  • 为何楼宇自控系统日益受欢迎?解析其兴起的核心动因
  • ASP.NET Core RazorPages/MVC/Blazor/Razor/WebApi概念记录说明
  • .NET Core 中 RabbitMQ 和 MassTransit 的使用
  • 使用QT进行3D开发建模
  • 阿里云开源DeepResearch:轻量化AI推理框架技术解析与实践指南
  • Visual Studio 2026 Insiders 重磅发布:AI 深度集成、性能飞跃、全新设计
  • 大模型初识(基础模型 业务集成+智能体Agent+Prompt提示词优化)
  • 【4/20】Node.js 入门:设置后端服务器,实现一个简单 API 端点