Windows系统使用Docker搭建Focalboard项目管理工具详细教程

news2025/1/12 18:55:18

目录

前言

1. 使用Docker本地部署Focalboard

1.1 在Windows中安装 Docker

1.2 使用Docker部署Focalboard

2. 安装Cpolar内网穿透工具

3. 实现公网访问Focalboard

4. 固定Focalboard公网地址


前言

  作者简介: 懒大王敲代码,计算机专业应届生

       今天给大家聊聊Windows系统使用Docker搭建Focalboard项目管理工具详细教程,希望大家能觉得实用!欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖  

个人主页:

懒大王敲代码-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_58070962?type=blog

其他专栏:

技术分享专栏icon-default.png?t=N7T8http://t.csdnimg.cn/LVrbCjava专栏icon-default.png?t=N7T8http://t.csdnimg.cn/bw2Thubantu与C语言学习专栏icon-default.png?t=N7T8http://t.csdnimg.cn/A8yIivue3项目实战专栏icon-default.png?t=N7T8http://t.csdnimg.cn/vP2no内网穿透专栏icon-default.png?t=N7T8http://t.csdnimg.cn/GJZJA懒大王闲谈专栏icon-default.png?t=N7T8http://t.csdnimg.cn/KxzqY

本篇文章将介绍如何在Windows系统本地快速部署Focalboard项目管理工具,并且结合cpolar内网穿透进行公网访问,远程团队协作,提高工作效率!

Focalboard是一个开源项目管理工具,可以替代Asana、Trello和Notion等软件,帮助个人和团队规划每个项目并达到每个里程碑。由于Focalboard是开源项目,可以将其部署在自己的本地服务器上,数据内容掌握在自己手里,更加安全可靠。下面将介绍如何使用Docker部署Focalboard。

image-20240422143938655

[video(video-fsPYkD3D-1716366806369)(type-bilibili)(url-External Player - 哔哩哔哩嵌入式外链播放器https://img-blog.csdnimg.cn/img_convert/b9e203ad12ce0335ef6f1d480f1848b7.jpeg)(title-开源团队项目管理工具Focalboard本地部署详细流程)]

1. 使用Docker本地部署Focalboard

演示环境:Windows10专业版、Docker

如未安装Docker,可参考下方如何在Windows中安装Docker,如已安装可跳过以下步骤。

1.1 在Windows中安装 Docker

第一步:启动Hyper-v

打开控制面板,在程序与功能页面选择启用或Windows功能

勾选Hyper-V、虚拟机平台、Linux子系统并点击确认

然后,重启计算机。

第二步:安装WSL

打开 powershell,以管理员的身份启动命令窗口,输入

wsl --update

安装

wsl --install

7803831a6fef8563132920692cf5bb5

然后再次重启电脑。

第三步:访问Docker官网进行下载

点击下载链接:https://docs.docker.com/desktop/install/windows-install/

选择Windows最新版本:

下载完成后,双击安装程序进行安装,如果是第一次安装,安装后会提示重启电脑,重启后点击桌面的Docker Desktop图标:选择先不注册直接登录即可。

打开Docker Desktop后,左下角显示是绿色的running就代表我们成功了:

image-20240422145420123

1.2 使用Docker部署Focalboard

打开cmd命令行,输入以下命令

docker run -it -p 80:8000 mattermost/focalboard

f87fdd8a0a45ee70ce4121155dae6f0

安装完成后,在Docker Desktop中可以看到Focalboard的web界面地址为:https://localhost:8000

8fcded323d8022235e602e2872995db

直接点击上方Docker中的80:8000,或者打开浏览器,输入localhost:8000

进入到Focalboard登录界面中,点击下方注册一个账号

6f9eb1368cc0e5fdff6bdfd949d0b7e

f0eaa588251be457e87850edf79fc7a

登录后,进入到Focalboard项目管理界面,进入系统的默认看板可能不符合你的需求,可以从自带的模版来创建新的看板,这里有很多常用的模版,基本覆盖了场景场景。

502802ee36e0389284acb2ac5384185

可以切换语言为中文

18230d6fc100844e7b6436e4b4e207c

看板可以包含多种视图,也可以创建更多的其他视图,除了模版带好的元素,也可以自己添加新的属性。

7e0a04c60573e9bc059c03d235f335e

至此,我们已经成功完成在本地Windows系统使用Docker部署Focalboard!但如果想实现异地办公及团队协作,办公提高工作效率的话,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现公网访问!

2. 安装Cpolar内网穿透工具

下面是安装cpolar步骤:

Cpolar官网地址: cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的Cpolar

登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。

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

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

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

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复

  • 协议:选择http

  • 本地地址:80 (本地访问的地址)

  • 域名类型:免费选择随机域名

  • 地区:选择China Top

image-20240422153224596

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

c8a5998078becc144ff0e0a8f6d44ca

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

3. 实现公网访问Focalboard

我们用刚才cpolar生成的公网地址,打开一个新的浏览器复制粘贴,可以看到进入到了Focalboard项目管理界面。

ef02fb09ac36264e63f3cc80a283b4d

用我们刚才注册的账号密码进行登录一下,进入到了管理界面

b8a2a7ac9838cdf4609ff4a2b95c809

小结

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

4. 固定Focalboard公网地址

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

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

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

image-20240422160616692

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

image-20240422160651628

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

6aa77495237688849a2a1554c7d5af1

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

  • 域名类型:选择二级子域名

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

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

988ca57c61d6909082da8a9b264aa1e

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

image-20240422161008788

最后,我们使用固定的公网https地址在任何浏览器打开访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地进行异地访问Focalboard项目管理了,增加团队协作,大大提高了工作效率!

image-20240422161240047

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

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

相关文章

TCP为什么需要四次挥手?

tcp为什么需要四次挥手? 答案有两个: 1.将发送fin包的权限交给被动断开发的应用层去处理,也就是让程序员处理 2.接第一个答案,应用层有了发送fin的权限,可以在发送fin前继续向对端发送消息 为了搞清楚这个问题&…

【java】力扣 反转字符串中的单词

目录 题目描述题目描述思路代码 题目描述 151.反转字符串中的单词 题目描述 思路 主要是利用快慢指针和字符串的截取 还要了解去掉首尾空格的函数是trim 那s"the sky is blue"举例 这个例子是没有首尾空格的,以防万一,我们不管有没有&#…

第06课 Scratch入门篇:侏罗纪公园

侏罗纪公园 入门篇适合新手,如您已经学过,可以忽略本节课! 一、故事背景: 在遥远的过去,有一个充满神秘与惊奇的时代——侏罗纪。那是一个恐龙称霸的时代,各种巨大的生物在这片古老的土地上留下了它们的足…

APT 安装软件详细教程

文章目录 APT 安装软件详细教程APT 概述APT 的基本命令APT 命令详解安装软件包更新和升级软件包删除软件包搜索和查找软件包管理软件包依赖清理软件包缓存APT 配置软件源配置自定义软件源常见问题及解决方案解决软件包依赖问题处理软件源错误其他常见问题使用 APT 的最佳实践总…

【设计模式】工厂模式详解

1.简介 工厂模式是一种创建型设计模式,通过提供一个接口或抽象类来创建对象,而不是直接实例化对象。工厂模式的主要思想是将对象的创建与使用分离,使得创建对象的过程更加灵活和可扩展。 工厂模式主要包括以下角色: 抽象工厂&a…

java 字符串a+b到底生成几个对象?

我们知道,java内存模型是堆栈元空间(也叫方法区,它是在内存中的)。 字符串常量池保存在堆里面。为了节约空间,如果常量池里面有,就不需要创建对象,只需要返回常量池里面的引用;如果…

c#实际开发长到的知识

个人建议先把rotion的库导入进来再操作,具体需要导入的库有,helper库包含了modbus通讯封装好的模块,而mvvm则可以用来做设计mvvm模块,你可以使用里面封装好的实现方法,用起来特别简单更容易实现其中的操作,但是我担心那天被卡脖子了啊啊啊,要是我罗工把库下架了那不是死…

圈子论坛小程序搭建,文章源码链接上传功能社交需求带支付功能

论坛小程序技术栈 前端:uni-app,vue3 后端:PHP,thinkphp8 数据库设计: 设计数据库结构,存储用户数据、帖子数据等。 数据库系统:MySQL5.7 功能开发: 明确小程序的功能需求:浏览、发帖、评…

ChemLLM:化学领域的大模型

人工智能咨询培训老师叶梓 转载标明出处 在化学这一特定学科的应用上,一直缺乏专门的对话模型。化学数据和科学知识通常存储在结构化的数据库中,这给直接使用这些数据训练语言模型带来了挑战。为了解决这一问题,来自上海人工智能实验室的研究…

RabbitMQ高级篇(如何保证消息的可靠性、如何确保业务的幂等性、延迟消息的概念、延迟消息的应用)

文章目录 1. 消息丢失的情况2. 生产者的可靠性2.1 生产者重连2.2 生产者确认2.3 生产者确认机制的代码实现2.4 如何看待和处理生产者的确认信息 3. 消息代理(RabbitMQ)的可靠性3.1 数据持久化3.2 LazyQueue( 3.12 版本后所有队列都是 Lazy Qu…

《七日世界》游玩感想

《七日世界》是一款最近新出的引人入胜的游戏,它以独特的故事情节和精美的画面设计吸引了许多玩家的关注。在这款游戏中,玩家需要在七天的时间里探索一个神秘的幽灵世界,解开其中的谜题,救出被困的灵魂。 首先,让我来聊…

1996-2023年上市公司绿色并购数据(含原始数据+处理代码+计算结果)

1996-2023年上市公司绿色并购数据(含原始数据处理代码计算结果) 1、时间:1996-2023年 2、指标:股票代码、首次公告日期、年份、买方、卖方、标的方、交易概述、标的物名称、标的物说明、买方经营范围、卖方经营范围、标的方经营…

28.jdk源码阅读之CopyOnWriteArraySet

1. 写在前面 CopyOnWriteArraySet 是 Java 中一个线程安全的 Set 实现,它的底层是基于 CopyOnWriteArrayList 实现的。这种数据结构在并发编程中非常有用,因为它在写操作时会创建一个新的数组副本,从而避免了并发修改问题。不知道大家对它的底…

angular入门基础教程(五)父子组件的数据通信

组件之间的通信是我们业务开发中少不了的,先了解下父子组件的通信 父组件传数据给子组件 前面,我们学会会动态属性的绑定,所以在父组件中给子组件绑定属性,在子组件中就可以使用这个属性了。 父组件中声明然后赋值 export class AppCompon…

C语言 | Leetcode C语言题解之第304题二维区域和检索-矩阵不可变

题目: 题解: typedef struct {int** sums;int sumsSize; } NumMatrix;NumMatrix* numMatrixCreate(int** matrix, int matrixSize, int* matrixColSize) {NumMatrix* ret malloc(sizeof(NumMatrix));ret->sums malloc(sizeof(int*) * (matrixSize …

图论:721. 账户合并(并查集扩展)

文章目录 1、题目链接2、题目描述3、并查集思路3.1、按秩合并3.2、常用并查集代码 4、题目解析 1、题目链接 721. 账户合并 2、题目描述 3、并查集思路 并查集可以在很短的时间内合并不同的集合。它的思想为,一开始将不同单元单独作为一个结点,然后按…

【Qt】修改窗口的标题和图标

以下操作仅对顶层 widget(独⽴窗口),有效。 修改窗口的标题 一.windowTitle属性 1.概念 是一种在用户界面中显示窗口的标题的属性。它可以用来设置窗口的标题栏文本。 2.API API说明windowTitle()获取到控件的窗⼝标题.setWindowTitle(const QString& title)设置控件的…

线性回归和逻辑回归揭示数据的隐藏模式:理论与实践全解析

机器学习之线性回归和逻辑回归 1. 简介1.1 机器学习概述1.2 监督学习的定义与重要性1.3 线性回归和逻辑回归在监督学习中的作用1.3.1 线性回归1.3.2 逻辑回归 2. 线性回归(Linear Regression)2.1 定义与目标2.1.1 回归问题的定义2.1.2 预测连续目标变量 …

Redis持久化之RDB和AOF详解

持久化是确保 Redis 数据在服务器重启或崩溃时不丢失的关键功能。由于 Redis 是基于内存的数据库,如果不进行持久化,所有数据都存在于内存中,一旦服务器进程退出,内存中的数据就会丢失。持久化机制可以将 Redis 的数据库状态保存到…