码农狂喜!NAS部署“支持80+语言”的在线代码协作编辑工具
大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享自己的数码玩耍经验~
前言
不知道大家有没有在线文档协作的需求,反正在我日常工作中,经常需要和五湖四海的人交流沟通文档,今天要开腾讯文档会员、明天要开金山文档会员,以满足不同用户的不同需求。
而文档相对还好一些,虽然开会员麻烦,但是至少可以完成在线协作。但是团队里的开发大哥们,经常需要对配置文件、部分数据文档进行在线对接,然后只能通过腾讯会议的形式,涂涂画画。
今天,cherry为大家介绍一款基于浏览器的开源代码实时协作工具——rustpad。
Rustpad 是一款基于操作转换算法的、高效且最小的开源协作文本编辑器。它允许用户在浏览器中编写代码时进行实时协作。Rustpad 是完全自托管的,适合一个很小的 Docker 镜像,不需要数据库。

项目特征:
-自托管
-无需数据库
-快速轻量
-易于部署
-适合临时协作编辑需求
-Docker镜像仅6MB,支持x86和arm架构
-支持文档自动过期和可选的SQLite持久化存储。
一、系统部署
本次部署教程使用我们的海康存储R1,开始项目部署前,我们先从网盘下载容器镜像。镜像包为exe的压缩格式,下载以后双击解压为tar格式备用。
打开海康智存客户端,启动docker应用,选择镜像管理-本地镜像-添加-电脑本地文件导入。

选择我们刚才解压的tar格式压缩包,导入完成后,选择ekzhang/rustpad,点击创建容器。

容器名称我们填写rustpad。

【存储空间】(可选):rustpad原则上是不需要使用数据存储的,因为其主要作用是在线协作代码,因此会将代码保存,我们需要在文件管理中创建对应的文件夹。我这里以/空间2/docker/rustpad为例。

最终映射完成以后的参考图如下,记得要在最后的类型选上读写。
/空间2/docker/rustpad:/persist

【端口设置】:我们添加一行,在本地端口填写任意非冲突端口,在容器端口填写3030,端口类型选择TCP,接着点击完成配置即可。

【环境】:下面的环境变量需要手动添加到环境中,其中EXPIRY_DAYS、PORT可自定义修改。
# 自动重启
--restart=always
# 非活跃自动删除文档的天数
EXPIRY_DAYS=365
# WEB端口,需要和端口中的容器端口保持一致
PORT=3030
# 日志保存策略
RUST_LOG=TRACE
# SQLITE数据库启用(结合存储空间使用给)
SQLITE_URI=sqlite:///persist/rustpad.db

二、系统使用
1、启动项目
回到容器管理中,选择刚才部署的rustpad容器,点开详情页。

切换到端口设置一栏,点击最右侧的访问地址,即可直接在浏览器中打开该项目。

2、项目体验
登录系统不需要账号密码,点击Language,可以看到大约支持80多种代码语言,常用的如md、c、java、lua、html、sql等等都包含在内。

当服务器后台链接成功以后,左上角的Connecting to the server会变为You are connected!
在Rustpad中,文档名称是以6位随机码来鉴别的,不同的随机码对应不同的文档内容。左侧的Share Link就是我们可以分享使用的短链接,分享给其它人就可以加入共同进行在线文档编辑。

为了区别不同的用户实现对项目的修订,我们需要在左侧的Active Users种修改自己的姓名。

当多个用户进行编辑的时候,可以看到活跃用户信息,两边的代码都是实时更新的。

最后
本项目可以说是IT达人必备的一款工具了,以往因为对很多项目不熟悉,导致在群聊、会议中反复沟通确认的时间成本,现在直接把代码一放,让甲方/乙方直接上手调整,效率杠杠高。
如果大家对IT类的文档管理工具感兴趣的话,还可以试试showdoc这款工具,这是一款针对IT人打造的数据文档、API文档整理工具,使用体验也很不错~
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

林溪风
校验提示文案
记录生活点滴
校验提示文案
cwz1985
校验提示文案
值友5120477205
校验提示文案
十六薙夜血
校验提示文案
十六薙夜血
校验提示文案
记录生活点滴
校验提示文案
林溪风
校验提示文案
值友5120477205
校验提示文案
cwz1985
校验提示文案