内网穿透的应用-Ubuntu本地Docker部署Leantime项目管理工具随时随地在线管理项目

news2025/1/10 8:52:16

文章目录

    • 前言
    • 1.关于Leantime
    • 2.本地部署Leantime
    • 3.Leantime简单实用
    • 4.安装内网穿透
    • 5.配置Leantime公网地址
    • 6. 配置固定公网地址

前言

本文主要介绍如何在本地Linux系统使用Docker部署Leantime,并结合cpolar内网穿透工具轻松实现随时随地查看浏览器页面,在线管理自己的数据中心,无需公网IP也不用域名与云服务器。

对于许多初创公司和小型团队来说,高效、简便且功能全面的项目管理工具是必不可少的。然而,市面上许多商业项目管理软件不仅价格昂贵,而且操作复杂,让很多团队望而却步。这时,开源的Leantime就成为了众多团队的理想选择。

image-20250106144540339

1.关于Leantime

Leantime是一款专为小型团队和初创公司设计的开源项目管理系统。它使用PHP和JavaScript编写,并采用MySQL作为数据库。Leantime提供了从项目计划、任务分配到进度跟踪的全方位解决方案,帮助团队更好地管理项目。其界面简洁直观,用户可以快速上手,无需复杂的培训。

Leantime的主要功能包括:

  • 多种任务管理视图:看板、甘特图、表格、列表和日历等。
  • 强大的项目规划功能:帮助用户制定清晰的目标并详细计划。
  • 目标与指标追踪:设定项目目标和关键指标,实时追踪进展。
  • 时间记录:分析时间开销,优化工作流程。
  • 信息管理:支持创建项目文档,方便团队成员查阅和学习。
  • 团队协作:提供沟通交流平台,提高协作效率。

为什么选择Leantime?

  1. 开源免费:完全开源,用户可以免费下载使用,并根据需求进行定制和扩展。
  2. 简单易用:界面简洁直观,适合没有项目管理经验的用户快速上手。
  3. 功能全面:涵盖项目管理的各个关键环节,从任务管理到团队协作,都能提供完善的解决方案。
  4. 灵活性强:支持多种安装方式,并允许用户根据需求进行定制和扩展。

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

image-20250106134947431

进入克隆下来的项目目录:

cd docker-leantime

image-20250106135009936
复制示例环境变量文件并进行必要的配置:

cp sample.env .env

编辑 .env 文件,根据您的需求配置数据库连接信息和其他环境变量。

image-20250106135028308
使用 Docker Compose 启动 Leantime 容器:

sudo docker compose up -d

image-20250106135311837

容器启动后,打开浏览器并访问localhost:8081,您将看到 Leantime 的登录界面

image-20250106135347929

3.Leantime简单实用

按照提示完成初始化配置,首先创建管理员账户,创建以后直接登录。

image-20250106145257301

在这里可以邀请你的工作同事们,输入他们的邮箱账号,我这里选择跳过。

image-20250106145541674

完成后,你就可以开始使用Leantime进行项目管理了!image-20250106145657375

可以看到界面特别美观,这是因为Leantime在设计时考虑到了多动症(ADHD)、阅读障碍(Dyslexia)和自闭症(Autism Spectrum Disorder, ASD)等特殊用户的使用体验。具体表现在以下几个方面:

  • 简洁的界面:减少视觉干扰,提高用户集中度。
  • 清晰的导航:逻辑性强,易于理解和操作。
  • 高对比度模式:提供高对比度主题,帮助阅读障碍和视力受限的用户更好地识别内容。
  • 可定制性:允许用户根据自己的需求调整界面布局和颜色方案。

To-Dos(待办事项)

媲美Coding的待办事项列表。支持设定事项类型,优先级,状态,工作量,工作时间等等一系列操作,支持拖拽变更事项状态。支持表格,列表,时间线等多种看板视图。

image-20250106150431469

Goals(目标)

Leantime的Goals板块为目标设定提供了同样引人入胜的体验,简介而高效的操作面板使用户轻松设定目标、追踪任务进度,并清晰了解目标的潜在风险。这一板块设计直观,使用户能够一览无余地了解整个目标的情况。

image-20250106150747860

Ideas(灵感)

你可以在Leantime中及时记录每一次灵感的闪现。想法是推动进步的引擎,但很容易被遗忘。在这里,你可以轻松地追踪和存档你的灵感,将它们与当前待办事项和进行中的工作相联系。

image-20250106150857913

4.安装内网穿透

不过我们目前只能在本地局域网内使用电脑等设备访问刚刚使用docker部署的使用Leantime。使用Leantime+ Cpolar的组合可以完美解决这个问题,安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。

下面是安装cpolar步骤:

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

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示running即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

5.配置Leantime公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Leantime,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8081
  • 域名类型:随机域名
  • 地区:选择China Top

image-20250106151214525

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250106151253417

如下图所示,成功实现使用公网地址异地远程访问本地部署的Leantime.

image-20250106152451625

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用Leantime,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择China TOP,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20250106152653787

保留成功后复制保留的二级子域名地址:Leantime

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

image-20250106152728102

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

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

点击更新

image-20250106152816685

现在一个永久不会变化的网址就设置好了。

image-20250106152955189

我们复制下来打开浏览器粘贴,现在我们使用固定的公网地址访问Leantime可以看到访问成功。

image-20250106153207842
接下来就可以随时随地进行公网访问Leantime了,把公网地址分享给身边的人,还可以方便团队协作。以上就是如何在Linux Ubuntu系统Docker本地安装Leantime并实现异地远程访问的全部过程,感谢观看!

更多项目详情可以访问作者Github项目主页:https://github.com/Leantime/leantime?tab=readme-ov-file

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2274250.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VulnHub-Acid(1/100)

参考链接: ​​​​​​​【VulnHub】Acid靶场复盘-CSDN博客 靶场渗透(二)——Acid渗透_ambassador 靶场渗透-CSDN博客 网络安全从0到0.5之Acid靶机实战渗透测试 | CN-SEC 中文网 Vulnhub靶场渗透练习(四) Acid - 紅人 - 博客园 红日团队…

HTML5实现好看的端午节网页源码

HTML5实现好看的端午节网页源码 前言一、设计来源1.1 网站首页界面1.2 登录注册界面1.3 端午节由来界面1.4 端午节习俗界面1.5 端午节文化界面1.6 端午节美食界面1.7 端午节故事界面1.8 端午节民谣界面1.9 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 H…

git merge与rebase区别以及实际应用

在 Git 中,merge 和 rebase 是两种将分支的更改合并到一起的常用方法。虽然它们都可以实现类似的目标,但它们的工作方式和效果有所不同。 1. Git Merge 定义:git merge 是将两个分支的历史合并在一起的一种操作。当你执行 git merge 时&…

Matlab APP Designer

我想给聚类的代码加一个图形化界面,需要输入一些数据和一些参数并输出聚类后的图像和一些评价指标的值。 gpt说 可以用 app designer 界面元素设计 在 设计视图 中直接拖动即可 如图1,我拖进去一个 按钮 ,图2 红色部分 出现一行 Button 图…

PyCharm 引用其他路径下的文件报错 ModuleNotFound 或报红

PyCharm 中引用其他路径下的文件提示 ModuleNotFound,将被引用目录添加到系统路径: # # 获取当前目录 dir_path os.path.dirname(os.path.realpath(__file__)) # # 获取上级目录 parent_dir_path os.path.abspath(os.path.join(dir_path, os.pardir))…

【HarmonyOS NEXT】鸿蒙应用点9图的处理(draw9patch)

【HarmonyOS NEXT】鸿蒙应用点9图的处理(draw9patch) 一、前言: 首先在鸿蒙中是不支持安卓 .9图的图片直接使用。只有类似拉伸的处理方案,鸿蒙提供的Image组件有与点九图相同功能的API设置。 可以通过设置resizable属性来设置R…

SOLID原则学习,开闭原则

文章目录 1. 定义2. 开闭原则的详细解释3. 实现开闭原则的方法4. 总结 1. 定义 开闭原则(Open-Closed Principle,OCP)是面向对象设计中的五大原则(SOLID)之一,由Bertrand Meyer提出。开闭原则的核心思想是…

【Vue3中使用crypto-js】crypto-js加密解密用法

目录 1、安装crypto2、创建crypto.js文件3、在main.js主文件中进行引用4、页面中进行使用5、实现效果展示6、加密模式解析以及iv参数使用 1、安装crypto npm install crypto-js 如果是在Typescript版本需要再安装 npm install --save types/crypto-js2、创建crypto.js文件 注…

跨界融合:人工智能与区块链如何重新定义数据安全?

引言:数据安全的挑战与现状 在信息化驱动的数字化时代,数据已成为企业和个人最重要的资产之一。然而,随着网络技术的逐步优化和数据量的爆发式增长,数据安全问题也愈变突出。 数据安全现状:– 数据泄露驱动相关事件驱…

简单易用的PDF工具箱

软件介绍 PDF24 Creator是一款简单易用的PDF工具箱,而且完全免费,没有任何功能限制。既可以访问官网在线使用各种PDF工具,也可以下载软件离线使用各种PDF工具。 软件功能 1、PDF转换 支持将多种文件格式(Word、PowerPoint、Exc…

低秩信息收集_0109

系列博客目录 文章目录 系列博客目录LoRA: Low-Rank Adaptation of Large Language Models传统模型适配的局限性:尽管研究界致力于通过添加适配器层或优化输入层激活来提高模型适配效率,这些方法在大型模型和延迟敏感的环境中存在局限。适配器层尽管参数…

C语言与ASCII码应用之简单加密

加密是什么?什么是加密通话?用人话说就是一句有含义的话,经过一定的特殊规则把里面的每个字按照这个规则进行改变,但是这个规则只有你和你想让知道这条信息的人知道 今天我们来用ASCII码编写一个简单加密与解密的程序&#xff0c…

国产3D CAD将逐步取代国外软件

在工业软件的关键领域,计算机辅助设计(CAD)软件对于制造业的重要性不言而喻。近年来,国产 CAD 的发展态势迅猛,展现出巨大的潜力与机遇,正逐步改变着 CAD 市场长期由国外软件主导的格局。 国产CAD发展现状 …

【Linux网络编程】第二十二弹---深入理解 I/O 多路转接之 epoll:系统调用、工作原理、代码演示及应用场景

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、I/O 多路转接之 epoll 1.1、epoll 初识 1.2、epoll 的相关系统调用 1.2.1、epoll_create 1.2.2、epol…

品牌账号矩阵如何打造?来抄作业

在讲究全域营销的当下,目前企业都在各自搭建品牌矩阵号,以提升自己在不同渠道上的影响力。虽然不同平台之间有诸多细节值得深究,但也不妨碍我们先了解如何搭建品牌矩阵。接下来,就让我们一同来了解下该如何搭建。 一、一个主账号 …

备考蓝桥杯:数据结构概念浅谈

目录 1数据结构的概念 什么是数据结构: 为什么要有数据结构 2.数据结构的三个组成要素 1.逻辑结构 2.存储结构 3.数据运算 3。算法好坏的度量(时间复杂度和空间复杂度) 时间复杂度计算 最优和平均和最差时间复杂度 计算时间复杂度例子 空间复…

scala代码打包配置(maven)

目录 mavenpom.xml打包配置项&#xff08;非完整版&#xff0c;仅含打包的内容< build>&#xff09;pom.xml完整示例&#xff08;需要修改参数&#xff09;效果说明 maven 最主要的方式还是maven进行打包&#xff0c;也好进行配置项的管理 以下为pom文件&#xff08;不要…

用于 EV 牵引电机的先进冷却技术

电动汽车牵引电机的冷却挑战 热管理的重要性 有效的热管理在电动汽车 &#xff08;EV&#xff09; 设计中至关重要&#xff0c;尤其是在牵引电机方面。这些电机将电能转化为机械运动&#xff0c;对车辆的整体性能和效率至关重要。 管理它们的热量至关重要&#xff0c;不仅可以…

课题推荐——基于GPS的无人机自主着陆系统设计

关于“基于GPS的无人机自主着陆系统设计”的详细展开&#xff0c;包括项目背景、具体内容、实施步骤和创新点。如需帮助&#xff0c;或有导航、定位滤波相关的代码定制需求&#xff0c;请点击文末卡片联系作者 文章目录 项目背景具体内容实施步骤相关例程MATLAB例程python例程 …

毕业项目推荐:基于yolov8/yolov5/yolo11的动物检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示&#xff1a;功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出&#xff08;xls格式&#xff09;功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…