用cpolar给Wikijs解锁公网访问,知识管理再也不被“圈”在办公室
Wiki.js 本质是一款面向团队和个人的维基式知识管理平台核心功能是将散落的文档、笔记进行体系化整合支持按分类、标签梳理内容支持多人协作编辑还能根据使用需求调整文档权限比如给核心业务文档设置仅管理员可修改普通文档开放全员编辑权限同时兼容 Web 端和移动端浏览器访问满足不同场景下的文档查看与编辑需求。作为日常使用 Wiki.js 整理工作内容的职场人最直观的感受是它的轻量化和实用性之前项目资料散在邮件、聊天记录里新人入职要花两周梳理用 Wiki.js 按 “产品线 - 模块 - 版本” 分类后新人 1 小时就能找到所需内容个人的学习笔记、工作心得也能按 “技术 - 生活” 分类归档搜索功能能秒查资料比翻备忘录、笔记本高效太多而且操作简单不用复杂的学习成本就能上手。在没用到 cpolar 之前Wiki.js 只能在公司局域网内访问极大限制了使用场景比如周末在家想完善项目文档只能等周一回公司操作出差时客户想查看最新的产品说明只能临时找同事截图发送既麻烦又容易出错。而用 cpolar 实现公网访问后这些束缚全没了 —— 通勤路上用手机浏览器就能编辑会议纪要回家后电脑同步显示修改内容异地出差时打开浏览器就能调取公司知识库的完整内容甚至能实时给客户演示最新的文档版本工作效率提升的同时也让知识管理的灵活性拉满。本文将介绍如何用 Docker 容器技术部署 Wiki.js 应用程序并且结合cpolar发布至公网实现知识库共享。Wiki.js 是一个高度可定制 Wiki 平台用 Node.js 编写支持 Markdown 以及 HTML 文档。Docker 容器技术可帮助我们简化部署过程提高应用程序的可移植性和可扩展性。1. 安装Docker本文演示环境CentOS 7 使用Xshell7进行SSH操作如没有安装Docker需先安装Dockercurl-fsSLhttps://get.docker.com|bash-sdocker本篇文章使用Docker Compose实现Wiki.js的一键部署输入下方命令显示版本号即为安装成功。dockercompose version2. 获取Wiki.js镜像Docker 中镜像是一个只读模板可创建 Docker 容器Wiki.js 官方提供了预构建 Docker 镜像我们可直接从 Docker Hub 中拉取。首先创建一个 dockers-compose.yml文件mkdircompose进入目录中cdcompose/编写 docker-compose.yml 文件内容复制以下内容注意容器的用户名密码和数据库的要一致version:3services: db: image: postgres:15-alpine environment: POSTGRES_DB: wiki POSTGRES_PASSWORD: wikijsrocks POSTGRES_USER: wikijs logging: driver:nonerestart: unless-stopped volumes: - db-data:/var/lib/postgresql/data wiki: image: linuxserver/wikijs depends_on: - db environment: DB_TYPE: postgres DB_HOST: db DB_PORT:5432DB_USER: wikijs DB_PASS: wikijsrocks DB_NAME: wiki restart: unless-stopped ports: -3000:3000volumes: db-data:保存配置文件后执行下面的命令即可部署 Wiki.jsdockercompose up-d3. 本地服务器打开Wiki.js并添加知识库内容打开一个新的浏览器输入本机IP:3000进行初始配置输入管理员的邮箱、密码访问地址设置是否匿名反馈使用情况创建完成后跳转到登录页面输入刚才创建的管理员账号密码登录出现下方界面点击ADMINISTRATION进入后台进入后台界面后点击Local选择语言下载语言包选择Chinese Simplified最后点击右上角APPLY切换至首页创建主页内容。这里可以选择使用何种编辑器来创建这里我们以 Markdown 为例接下来我们创作第一篇文章先设置页面属性重点设置标题、路径填写完成后点击右上角的OK填写好内容后点击右上方的创建返回到主页可以看到刚创建的文章内容这样我们就在本地使用Docker搭建了一个wiki的知识库系统但是目前仅限于本地的访问如果我们想把创作好的文章内容发给身边的朋友查看或者需要进行异地访问创作等接下来我们就可以结合cpolar内网穿透将搭建好的知识库发布至公网进行远程访问。4. 实现公网访问Wiki.js上面在本地Docker中成功部署了Wiki.js并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤使用一键脚本安装命令curl-Lhttps://www.cpolar.com/static/downloads/install-release-cpolar.sh|sudobash向系统添加服务sudosystemctlenablecpolar启动cpolar服务sudosystemctl start cpolarcpolar安装成功后在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,接下来在web 管理界面配置即可接下来配置一下Wiki.js的公网地址登录后点击左侧仪表盘的隧道管理——创建隧道创建一个Wiki.js的公网http地址隧道!隧道名称可自定义命名注意不要与已有的隧道名称重复协议选择http本地地址3000 (本地访问的地址)域名类型免费选择随机域名地区选择China Top点击创建隧道创建成功后点击左侧的状态——在线隧道列表,查看所生成的公网访问地址有两种访问方式,一种是http 和https使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到Wiki.js界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问小结如果我们需要把创作的WIki知识库长期发布至公网分享给别人查看由于刚才创建的是随机的地址24小时会发生变化。另外它的网址是由随机字符生成不容易记忆。如果想把域名变成固定的二级子域名并且不想每次都重新创建隧道可以选择创建一个固定的http地址来解决这个问题。5. 固定Wiki.js公网地址我们接下来为其配置固定的HTTP端口地址该地址不会变化方便分享给别人长期查看你的博客而无需每天重复修改服务器地址。配置固定http端口地址需要将cpolar升级到专业版套餐或以上。登录cpolar官网点击左侧的预留选择保留二级子域名设置一个二级子域名名称点击保留,保留成功后复制保留的二级子域名名称保留成功后复制保留成功的二级子域名的名称修改隧道信息将保留成功的二级子域名配置到隧道中域名类型选择二级子域名Sub Domain填写保留成功的二级子域名点击更新(注意,点击一次更新即可,不需要重复提交)更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名最后,我们使用固定的公网https地址访问,可以看到访问成功这样一个固定且永久不变的公网地址就设置好了,成功实现了在异地我们也可以进行远程创作并且随时随地都可以把Wiki知识库分享给其他人了Wiki.js 的核心价值是让知识管理更体系化而 cpolar 则补齐了它 “仅限内网访问” 的短板让这份便捷不再受物理空间限制。对于需要高效管理知识的个人和小团队来说这样的组合既省心又实用能真正适配职场中多样化的工作场景。