【云原生】Docker搭建知识库文档协作平台Confluence

news2025/6/19 21:07:13

目录

一、前言

二、企业级知识库文档工具部署形式

2.1 开源工具平台

2.1.1 开源工具优点

2.1.2 开源工具缺点

2.2 私有化部署

2.3 混合部署

三、如何选择合适的知识库平台工具

3.1 明确目标和需求

3.2 选择合适的知识库平台工具

四、Confluence介绍

4.2 confluence特点

4.3 Confluence中的几个概念

4.3.1 空间(Space)

4.3.2 Dashboard

4.3.3 页面(Page)

4.3.4 模板(template)

4.3.5 权限(Permission)

五、基于Docker搭建Confluence

5.1 前置准备

5.2 安装过程

5.2.1 创建容器挂载目录

5.2.2 使用下面的命令启动

6.1.3 访问主页

6.2 破解过程

6.2.1 拷贝agent包到Confluence指定目录

6.2.2 修改setenv.sh 脚本

6.2.3 重新启动confluence 

6.2.4 获取授权码

6.2.5 输入生成的授权码

七、写在文末


一、前言

对任何一个企业来说,文档可以说是一个非常宝贵的无形资产,文档,可以是技术文档,也可以是项目文档,操作手册,培训文档等等,久而久之,一个企业众多的文档就形成了这个企业底层的知识库,而这个知识库又可以在业务向前推进的过程中提升人员的工作效率,推动各类工作,项目,业务,交付等问题的解决,转而再次成为通用的问题解决方案文档沉淀下来,形成一个良性的正向循环。

二、企业级知识库文档工具部署形式

根据企业所处阶段,团队规模,以及部署成本等综合因素的考量,企业对于知识库文档工具的部署,目前主要有下面几种形式。

2.1 开源工具平台

当团队规模比较小,比如10人左右,为节省服务器资源开销,快速跑业务,一般会选择一些行业内知名度较高的开源工具,比如大家熟悉的语雀,印象笔记,简书等,为了方便文档的分享和传播,甚至直接使用钉钉的文档。

2.1.1 开源工具优点

  • 成本较低

    • 资源托管在第三方平台,在平台人员规模限制的范围内,甚至可以达到零开销;

  • 上手简单

    • 开源工具一般学习和使用成本较低,注册账号即可使用,而且体验感不会太差;

  • 便于分享

    • 团队中某个成员写完文档之后,只需要分享一个链接即可给其他成员使用

2.1.2 开源工具缺点

  • 数据安全性

    • 毕竟文档的数据在第三方平台上,因此数据很难做到绝对安全;

  • 依赖性

    • 使用第三方知识库平台将使组织依赖于该平台的稳定性和可靠性。如果平台出现故障或服务中断,可能会影响到组织的业务运作。

  • 定制性受限

    • 第三方平台通常提供一些标准的功能和界面,对于特定的定制需求可能受到限制。如果组织有特殊的需求,可能无法完全满足。

  • 数据迁移困难

    • 如果组织需要迁移到另一个平台或者将数据重新整合到自己的系统中,可能会面临数据迁移困难的问题,特别是在数据格式和结构上存在差异的情况下。

  • 价格波动

    • 第三方平台的定价通常是根据使用情况和功能来定的,可能会受到价格波动的影响。组织需要考虑成本和长期支出,以及可能的价格调整。

2.2 私有化部署

私有化部署也叫本地部署,即企业搭建属于自己的知识库文档工具平台,即所有的数据都托管在企业自身的服务器资源上,从而做到数据的绝对可控,这也是目前很多稍成规模的团队的普遍做法。

2.3 混合部署

结合本地部署和云端部署的优势,部分功能在本地部署,部分功能在云端部署,以满足不同的需求和安全要求。

三、如何选择合适的知识库平台工具

3.1 明确目标和需求

在搭建知识库平台之前,首先要明确搭建的目标和需求

  • 知识库的范围

    • 是针对整个企业的知识库,还是只针对某个部门或特定领域的知识库?

  • 知识库的内容

    • 需要收集、整理和分享哪些类型的知识?包括文档、培训资料、经验总结等。

  • 知识库的权限管理

    • 是否需要设置不同角色的权限,以保护敏感信息?

  • 用户的需求

    • 用户需要怎样的搜索、浏览和分享功能?需要支持多语言吗?

 

3.2 选择合适的知识库平台工具

有许多知识库平台工具可供选择,以可以私有化部署的平台来说,比如 PingCode,Helplook,Confluence,SharePoint、MM-Wiki等。在选择合适的工具时,可以考虑以下几个方面:

  • 易用性

    • 选择一个用户友好的界面,操作方式简单,方便使用人员快速上手使用,一句话:学习成本低;

  • 功能丰富性

    • 择一个功能齐全的平台,能够满足企业的需求,并支持定制化,像现在有些工具可以支持丰富的插件;

  • 协作性

    • 尽量选择一个支持多人协同编辑、评论和反馈的平台,以便团队成员共同完善知识库。

  • 安全性

    • 选择一个具有严格的权限管理和数据保护措施的平台,以确保敏感信息的安全。

四、Confluence介绍

Confluence是一款由澳大利亚公司Atlassian开发的企业协作平台,是一个专业的 wiki 程序,主要用于团队协作、信息共享和知识管理。它是一个基于网页的企业文档协作工具,可以帮助团队成员共同编辑和分享内容。同时也是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享。

Confluence使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息,文档协作,集体讨论。目前,Confluence被用于广泛地用于项目团队,IT开发团队,市场销售团队。

4.2 confluence特点

Confluence具有以下特点和优势:

  • 团队协作

    • Confluence提供了团队协作所需的功能,如实时编辑、评论、@提及、任务分配等,促进团队成员之间的合作和沟通。

  • 知识管理

    • 用户可以在Confluence中创建、组织和共享各种类型的内容,有助于知识的积累和传播,提高团队的整体效率。

  • 易用性

    • Confluence具有直观的用户界面和简单易懂的操作流程,使团队成员能够快速上手并高效地使用该工具。

  • 灵活性

    • Confluence支持多种内容格式(如文档、表格、文件、图片等),并提供丰富的插件和扩展选项,比如可以导出多种格式的文件,用户可以根据需求定制和扩展平台的功能。

  • 权限控制

    • Confluence具有灵活的权限管理功能,管理员可以根据需求设置不同的访问权限,确保信息的安全性和保密性。

  • 集成性

    • Confluence与其他Atlassian产品(如Jira、Bitbucket等)和第三方工具(如Slack、Microsoft Teams等)具有良好的集成性,能够与团队已有的工具无缝对接,提升工作效率和协作效果。

综合来说,Confluence作为一个强大的团队协作和知识管理平台,具有易用性、灵活性、权限控制、集成性等优势,能够有效帮助团队提升工作效率、促进信息共享和知识管理。

4.3 Confluence中的几个概念

Confluence的使用并不复杂,只需掌握如下几个基础概念,然后再在界面上操作即可快速上手使用。

4.3.1 空间(Space)

空间(Space),空间是Confluence系统中的一个区域,用于存储wiki页面,并可实现对空间中的所有文档进行统一的权限管理。通常,我们可以针对每个项目单独创建一个空间,然后将与该项目相关的文档信息放置到该空间中,并只对项目成员开设访问/编辑权限。除了项目空间,每个成员都有一个个人空间。平时成员可以将工作总结或笔记等文档放置到自己的空间中;对于对团队有帮助的文档,就可以将文档移动至团队项目空间中。

4.3.2 Dashboard

Dashboard是Confluence系统的主页,在Dashboard界面中包含了Confluence站点中的所有空间列表,以及最近更新内容的列表。

4.3.3 页面(Page)

在Confluence系统中,页面是存储和共享信息的主要方式。

  • 页面可以互相链接、连接、组织和访问,并以树状结构进行组织,放置于空间之中。页面遵循所见即所得的编辑方式,操作上简单易用。更强大的地方在于,页面支持大量的内容展现形式,除了富文本文档外,还包括图表、视频、附件(可预览)、流程图、公式等等;如果还不够,还可以通过海量的第三方插件进行扩展。

  • 在页面中可以通过@其它成员,通知相关成员查看文档。文档保存成功后,被@的成员就会收到邮件,并可根据邮件中的链接访问到该文档,然后进行评论或者协同编辑。

4.3.4 模板(template)

创建页面时除了采用空白文档,也可以选择模板。模板是在空白文档的基础上,根据特定需求添加了一些文档要素,可辅助用户更好更快地创建文档。

Confluence内置了大量的模板,可辅助用于项目工作的各个环节,包括产品需求、会议记录、决策记录、指导手册(How-to)、回顾记录、工作计划、任务报告等等。并且由于Confluence和JIRA是同一家公司的产品,在Confluence中可以和JIRA进行无缝衔接,实现对产品质量实现更好的展现。如果对Confluence自带的模板不满意,还可以对模板进行调整,或者根据自己的需求创建其它类型的模板。

4.3.5 权限(Permission)

在安全性方面,Confluence具有完善和精细的权限控制,可以很好地控制用户在Wiki中创建、编辑内容和添加注释。权限控制分3个维度,分别是团队(Group),个人(Individual Users),匿名用户(Anonymous)。

  • 使用团队级的权限控制时,需要在Confluence服务器中对公司员工进行分组,好处在于配置比较方便,只需要对整个团队进行统一的权限配置。
  • 但在实际项目中,经常会存在同一个项目包含多个跨团队成员的情况,这个时候就不适合采用团队权限配置方式,只能采用逐个添加成员的方式,并对各个成员分别配置权限。
  • 另外一种情况,就是对于未登录的用户,以及项目成员以外的用户,可以开设部分权限,例如只读(View)。

五、基于Docker搭建Confluence

接下来演示基于docker搭建Confluence过程。

5.1 前置准备

服务器

如果是基于centos7系统或云服务器安装,建议至少留出4G以上的内存

mysql

Confluence后续的数据都会持久化到mysql进行存储,因此需要提前安装完mysql

JDK

基于centos7系统或云服务器安装,需要提前安装JDK,至少JDK8以上的版本,推荐使用JDK17

docker

如果使用docker部署,请提前在部署Confluence的机器上安装docker

5.2 安装过程

5.2.1 创建容器挂载目录

参照下面的命令依次执行

mkdir -p /data/confluence/file
mkdir -p /data/confluence/data
cd /data/confluence/file

下载atlassian-agent-v1.3.1破解工具,以及mysql的驱动连接jar包

 agent下载地址:git下载地址

mysql驱动连接下载地址:下载地址

5.2.2 使用下面的命令启动

建议不要使用太低的版本,选择7.15或者以上的版本,7版本也是官方长期维护的版本

docker run -d \
--name confluence \
--privileged=true \
-v /data/confluence/data:/var/atlassian/application-data/confluence \
-v /data/confluence/file/mysql-connector-java-5.1.49-bin.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/mysql-connector-java-5.1.49-bin.jar \
-v /data/confluence/file/atlassian-agent.jar:/home/atlassian-agent.jar \
-e JVM_MINIMUM_MEMORY=2048m \
-e JVM_MAXIMUM_MEMORY=4096m \
-p 8090:8090 -p 8091:8091 \
-e TZ="Asia/Shanghai" \
atlassian/confluence-server:7.15.1

检查是否启动成功

netstat -nltp | grep 8090

6.1.3 访问主页

服务启动之后,浏览器访问:IP:8090,然后可以在这里切换不同的语言类型

6.2 破解过程

下载atlassian-agent-v1.3.1破解工具,以及mysql的驱动连接jar包,参照docker安装完成破解的过程,几乎是一模一样的。这里罗列一下核心步骤:

  • 将agent的jar包拷贝到Confluence的依赖包目录;
  • 找到, setenv.sh 这个脚本;
    • 在文件最后面追加,export JAVA_OPTS="-javaagent:/opt/atlassian/atlassian-agent-v1.2.3/atlassian-agent.jar ${JAVA_OPTS}" ;

6.2.1 拷贝agent包到Confluence指定目录

mv atlassian-agent.jar  /var/atlassian/application-data/confluence/atlassian/atlassian-agent.jar

6.2.2 修改setenv.sh 脚本

在脚本文件最后面追加

export JAVA_OPTS="-javaagent:/opt/atlassian/atlassian-agent-v1.2.3/atlassian-agent.jar ${JAVA_OPTS}" 

6.2.3 重新启动confluence 

验证是否成功

ps aux | grep javaagent  # 检查是否出现-javaagent 

6.2.4 获取授权码

执行下面的命令获得授权码

java -jar /opt/atlassian/atlassian-agent-v1.2.3/atlassian-agent.jar -p conf -m  xxxxx@qq.com -n confluence -o confluence -s 上面的ServerId

6.2.5 输入生成的授权码

将上一步生成的授权码拷贝到浏览器的输入框中,点击下一步,然后参照上面docker搭建的方式最后,配置数据库,然后一步步往后执行即可。

七、写在文末

知识库文档在日常的工作中是一个非常重要的工具,合理使用知识库文档,不仅可以提升自己的工作效率,同时也在一定程度上可以推进整个团队的知识沉淀,为团队的可持续性良性发展提供一个底层的知识支撑,本文详细介绍了基于docker搭建知识库文档协作平台Confluence的过程,至于具体的使用,相信使用过一些开源文档的同学并不陌生,就不再过多赘述了,本文到此结束,感谢观看。

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

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

相关文章

链表篇: 01-从尾到头打印链表

解题思路: 直接往数组中加入数据,然后通过Java提供的工具类(coollections) 直接进行数组的反转。 代码实现: import java.util.*; /** * //ListNode 的数据结构 * * public class ListNode { * int val; * ListNode next null; * * …

韩顺平0基础学java——第39天

p820-841 jdbc和连接池 1.JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题。 2.Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作。 3.jdbc原理图 JDBC带来的好处 2.JDBC带来的…

10 Vue 特性要点

Vue2 特性要点 Vue2 源码理解 Vue 双向数据绑定 先从单向绑定切入单向绑定非常简单,就是把Mode1绑定到view,当我们用Javascript代码更新Model时, view就会自动更新 双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View, Mode1的数据也自动被更新了 因为 Vue 是数据双向…

手把手教你集成GraphRag.Net:打造智能图谱搜索系统

在人工智能和大数据发展的背景下,我们常常需要在项目中实现知识图谱的应用,以便快速、准确地检索和使用信息。 今天,我将向大家详细介绍如何在一个新的.NET项目中集成GraphRag.Net,这是一个参考GraphRag实现的.NET版本&#xff0c…

Flutter——全网最精致木鱼APP可上架应用市场

研发背景 工作之余,闲来无事,想着研发一款用户可能会经常用到的一款APP,并且能够顺便掌握一下Flutter Material Design 3 UI,所以就有了这款比较精致的木鱼APP的诞生。 开源代码 https://github.com/z244370114/woodenfish

YOLOV8源码解读-C2f模块-以及总结c2模块、Bottleneck

c2f模块是对c2模块的改进 c2模块图解解读 先给出YOLOV8中卷积的定义模块一键三连-卷积-BN-激活函数 def autopad(k, pNone, d1): # kernel, padding, dilation"""Pad to same shape outputs."""if d > 1:k d * (k - 1) 1 if isinstance…

linux练习2

一、搭建nfs服务器,客户端可从服务端/share目录上传与下载文件 **服务端** 1、下载相关安装包 [rootserver ~]# yum install rpcbind -y [rootserver ~]# yum install nfs-utils -y 2、 创建共享文件夹/share并授予权限 [rootserver ~]# mkdir /share [rootserv…

结构体笔记

结构体 C语言中的数据类型: 基本数据类型:char/int/short/double/float/long 构造数据类型:数组,指针,结构体,共用体,枚举 概念: 结构体是用户自定义的一种数据类型&#xff0c…

【七】Hadoop3.3.4基于ubuntu24的分布式集群安装

文章目录 1. 下载和准备工作1.1 安装包下载1.2 前提条件 2. 安装过程STEP 1: 解压并配置Hadoop选择环境变量添加位置的原则检查环境变量是否生效 STEP 2: 配置Hadoop2.1. 修改core-site.xml2.2. 修改hdfs-site.xml2.3. 修改mapred-site.xml2.4. 修改yarn-site.xml2.5. 修改hado…

全球相机控制面板市场展望与未来增长机遇:预计未来六年年复合增长率CAGR为4.3%

在全球摄影器材和专业影像设备需求增长的背景下,相机控制面板正成为市场的焦点。本文详细分析了全球相机控制面板市场的现状、增长趋势及未来前景,旨在为投资者和业内人士提供深入的市场洞察和指导。 市场概览 据恒州诚思团队研究分析显示,2…

Linux内核 mmap内存映射的实现原理

在Linux内核以及Linux系统编程的时候,经常会碰到mmap内存映射,mmap函数是实现高性能编程的一个关键点。本文详细介绍一下mmap实现原理。 虚拟地址映射物理地址 虚拟地址映射物理地址采用的是页表机制,64位CPU采用的是4级页表。 64位CPU虚拟…

算法板子:堆排序——找出数组中前m个最小元素,包括构造小根堆、查询堆中最小值

基础知识: 堆是一棵完全二叉树,除了最后一层外每一层都是满的,并且最后一层如果有右节点必有左节点堆的节点从1开始编号; 如果一个节点的编号是i,那么该节点的左孩子是2i,右孩子是2i1小根堆中,父节点的值小…

医院影像平台源码,C/S体系结构的C#语言PACS系统全套商业源代码

医学学影像临床信息系统具有图像采集、显示、存储、传输和管理等功能,支持DICOM影像设备和非DICOM影像设备,可以识别CT、MR、CR/DR、X光、DSA、B超、NM、SC等设备的图像类型,可对数字影像进行无损压缩和有损压缩处理。C/S体系结构的多媒体数据…

B端系统UI个性化设计:感受定制之美

B端系统UI个性化设计:感受定制之美 引言 艾斯视觉作为ui设计和前端开发从业者,其观点始终认为:在当今竞争激烈的商业环境中,B端(Business-to-Business)系统的设计不再仅仅是功能性的堆砌,而是…

Hakuin:一款自动化SQL盲注(BSQLI)安全检测工具

关于Hakuin Hakuin是一款功能强大的SQL盲注漏洞安全检测工具,该工具专门针对BSQLi设计,可以帮助广大研究人员优化BSQLi测试用例,并以自动化的形式完成针对目标Web应用程序的漏洞扫描与检测任务。 该工具允许用户以轻松高效的形式对目标Web应…

Python | TypeError: ‘function’ object is not subscriptable

Python | TypeError: ‘function’ object is not subscriptable 在Python编程中,遇到“TypeError: ‘function’ object is not subscriptable”这一错误通常意味着你尝试像访问列表、元组、字典或字符串等可订阅(subscriptable)对象那样去…

短视频矩阵源码技术分享

在当今数字媒体时代,短视频已成为吸引观众和传递信息的重要手段。对于开发者而言,掌握短视频矩阵源码技术不仅是提升自身技能的需要,更是把握行业发展趋势的必然选择。本文将深入探讨短视频矩阵源码的关键技术要点及其实现方法,帮…

文心智能体爆肝网文创作

前言 随着人工智能技术的飞速发展,智能体技术正逐渐渗透到我们生活的方方面面。本文将从博主开发的“爆肝网文小说”智能体入手,探讨智能体技术的概念、开发过程以及其在现代生活中的应用和潜力。 1、零代码开发智能体 1.1、什么是文心智能体 文心智…

使用拉链法实现哈希

开散列 开散列又叫链地址法,首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子集合,每一个子集合成为一个桶,各个桶中的元素通过一个单链表链接起来,各链表的头节点存储在哈希表中。 ​ 通过结…

webpack5

webpack5主要是内部效率的优化对比webpack4,没有太多使用上的改动 基本配置 拆分配置和merge module.exports merge(commonConfig, { /** options **/})启动本地服务 在dev中添加配置 devServer: {static: {directory: distPath,},port: 8089,hot: true,compres…