当前位置: 首页 > news >正文

Windows系统使用Docker部署Focalboard团队协作工具详细流程

文章目录

    • 前言
    • 1. 使用Docker本地部署Focalboard
      • 1.1 在Windows中安装 Docker
      • 1.2 使用Docker部署Focalboard
    • 2. 安装Cpolar内网穿透工具
    • 3. 实现公网访问Focalboard
    • 4. 固定Focalboard公网地址

前言

本篇文章将介绍如何使用Docker本地部署Focalboard项目管理工具,并且结合cpolar内网穿透进行公网访问,实现团队协作,提高工作效率!

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

image-20240422143938655

开源团队项目管理工具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官网地址: https://www.cpolar.com

点击进入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

image-20240422161359270

相关文章:

  • 521源码-免费下载-WordPress全能自动采集与发布插件 – WP-AutoPostPro 汉化版
  • Docker搭建mysql性能测试环境
  • 授人以渔 选购篇十四:电动车(电动自行车)选购要点
  • 重生之while在鸣潮学习HTML标签
  • 【ai】pycharm设置软件仓库编译运行基于langchain的chatpdf
  • 疯狂“造人”!美国两党共推新法案,5年培养100万AI及量子人才
  • 推荐3款好用的AI智能写作工具
  • 【算法专题】双指针算法之 移动零
  • Qt for android 串口库使用
  • 国产32位MCU的发展与机遇
  • 【数组】Leetcode 57. 插入区间【中等】
  • 【计算机视觉(2)】
  • 【LeetCode算法】第83题:删除排序链表中的重复元素
  • 一文搞透常见的Python编码陷阱(上)(分析+案例)
  • 如何判断一个对象是否已经被回收?
  • [LeetCode] Wiggle Sort
  • Angular Elements 及其运作原理
  • docker容器内的网络抓包
  • Gradle 5.0 正式版发布
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JAVA之继承和多态
  • Redis字符串类型内部编码剖析
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 我这样减少了26.5M Java内存!
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 最近的计划
  • ​secrets --- 生成管理密码的安全随机数​
  • # C++之functional库用法整理
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (LeetCode 49)Anagrams
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (转)创业的注意事项
  • (转载)Linux网络编程入门
  • (轉)JSON.stringify 语法实例讲解
  • ***测试-HTTP方法
  • *上位机的定义
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net操作Excel出错解决
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .project文件
  • @hook扩展分析
  • @JsonFormat与@DateTimeFormat注解的使用
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [\u4e00-\u9fa5] //匹配中文字符
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [AAuto]给百宝箱增加娱乐功能
  • [android] 练习PopupWindow实现对话框
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
  • [iOS]让Xcode 4.2生成的app支持老的iOS设备(armv6)
  • [Java] 什么是IoC?什么是DI?它们的区别是什么?
  • [java基础揉碎]文件IO流