前言
各位小伙伴们,让我们暂时把目光从云端的分布式系统转向本地环境。在您的Linux主机上,我们将搭建一个高性价比的协作平台——Leantime。该方案通过Docker容器化部署结合内网穿透工具Cpolar,有效规避了传统云服务的订阅费用和定制化系统的配置负担。只需基础配置的Linux服务器,即可实现跨区域团队的实时协作,其操作体验堪比未来办公平台的操作流畅度。
当您通过Cpolar实现公网访问时,整个部署过程如同精密的数字化工程:既完整保留了核心功能组件,又达成了零成本的云端部署目标。这种创新性的技术整合方案,成功平衡了预算控制与系统性能的双重需求,为中小型团队提供了理想的协作解决方案。
【视频教程】
简洁且强大的开源项目管理系统Leantime本地搭建与远程使用指南
1.关于Leantime
Leantime是一款专为小型团队和初创公司设计的开源项目管理系统。它使用PHP和JavaScript编写,并采用MySQL作为数据库。Leantime提供了从项目计划、任务分配到进度跟踪的全方位解决方案,帮助团队更好地管理项目。其界面简洁直观,用户可以快速上手,无需复杂的培训。
Leantime的主要功能包括:
- 多种任务管理视图:看板、甘特图、表格、列表和日历等。
- 强大的项目规划功能:帮助用户制定清晰的目标并详细计划。
- 目标与指标追踪:设定项目目标和关键指标,实时追踪进展。
- 时间记录:分析时间开销,优化工作流程。
- 信息管理:支持创建项目文档,方便团队成员查阅和学习。
- 团队协作:提供沟通交流平台,提高协作效率。
2.本地部署Leantime
本例使用Docker Compose部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》
在开始安装之前,请确保您的系统上已经安装了以下软件:
Docker: 用于容器化应用程序。
Docker Compose: 用于定义和运行多容器 Docker 应用程序。
首先,从 GitHub 克隆 Leantime 的 Docker 项目仓库:
git clone https://github.com/Leantime/docker-leantime.git
进入克隆下来的项目目录:
cd docker-leantime
复制示例环境变量文件并进行必要的配置:
cp sample.env .env
编辑 .env 文件,根据您的需求配置数据库连接信息和其他环境变量。
使用 Docker Compose 启动 Leantime 容器:
sudo docker compose up -d
容器启动后,打开浏览器并访问localhost:8081,您将看到 Leantime 的登录界面
3.Leantime简单实用
按照提示完成初始化配置,首先创建管理员账户,创建以后直接登录。
在这里可以邀请你的工作同事们,输入他们的邮箱账号,我这里选择跳过。
完成后,你就可以开始使用Leantime进行项目管理了!
可以看到界面特别美观,这是因为Leantime在设计时考虑到了多动症(ADHD)、阅读障碍(Dyslexia)和自闭症(Autism Spectrum Disorder, ASD)等特殊用户的使用体验。具体表现在以下几个方面:
- 简洁的界面:减少视觉干扰,提高用户集中度。
- 清晰的导航:逻辑性强,易于理解和操作。
- 高对比度模式:提供高对比度主题,帮助阅读障碍和视力受限的用户更好地识别内容。
- 可定制性:允许用户根据自己的需求调整界面布局和颜色方案。
To-Dos(待办事项)
媲美Coding的待办事项列表。支持设定事项类型,优先级,状态,工作量,工作时间等等一系列操作,支持拖拽变更事项状态。支持表格,列表,时间线等多种看板视图。
Goals(目标)
Leantime的Goals板块为目标设定提供了同样引人入胜的体验,简介而高效的操作面板使用户轻松设定目标、追踪任务进度,并清晰了解目标的潜在风险。这一板块设计直观,使用户能够一览无余地了解整个目标的情况。
Ideas(灵感)
你可以在Leantime中及时记录每一次灵感的闪现。想法是推动进步的引擎,但很容易被遗忘。在这里,你可以轻松地追踪和存档你的灵感,将它们与当前待办事项和进行中的工作相联系。
4.安装内网穿透
不过我们目前只能在本地局域网内使用电脑等设备访问刚刚使用docker部署的使用Leantime。使用Leantime+ Cpolar的组合可以完美解决这个问题,安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。
下面是安装cpolar步骤:
Cpolar官网地址: https://www.cpolar.com
使用一键脚本安装命令
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示running即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
5.配置Leantime公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:Leantime,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8081
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。
如下图所示,成功实现使用公网地址异地远程访问本地部署的Leantime.
小结
为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
如果有长期使用Leantime,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。
6. 配置固定公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择China TOP,然后设置一个二级子域名名称,填写备注信息,点击保留。
保留成功后复制保留的二级子域名地址:Leantime
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道Leantime,点击右侧的编辑
。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China TOP
点击更新
现在一个永久不会变化的网址就设置好了。
我们复制下来打开浏览器粘贴,现在我们使用固定的公网地址访问Leantime可以看到访问成功。
更多项目详情可以访问作者Github项目主页:https://github.com/Leantime/leantime?tab=readme-ov-file
此刻,您已掌握通往未来协作的密钥——通过Leantime平台的云端接入点,我们正在打破传统网络限制。采用自动隧道技术,无需公网IP地址和域名备案,仅通过专属协作链接的分发,即可构建跨地域的虚拟开发网络。这种分布式架构使得深圳的程序员与柏林的设计师能够如同在同一个虚拟空间中实时协作。
当您在技术分享平台记录此次实践时,请点亮开源项目的星标——正是无数开发者的智慧结晶,铸就了这场协作变革的基石。我们不仅为受困于复杂审批流程的初创企业提供了轻量级协作方案,更通过重构人机交互的协作模式,在数字化浪潮中诠释着技术人的价值主张:这正是极客精神最真实的实践写照。