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

探索Wiki:开源知识管理平台及其私有化部署

在如今的信息时代,企业和团队的知识管理变得愈发重要。如何有效地存储、整理、共享和协作,是提高团队效率和创新能力的关键因素之一。今天,我要为大家介绍一款非常有用的github上开源知识管理工具——Wiki,并分享它的私有化部署方法,帮助你搭建属于自己个人或团队的知识管理平台。
_20250103204003.jpg

什么是Wiki?

Wiki 是一个基于 Node.js 和 Vue.js 开发的开源 Wiki 系统,旨在为团队和组织提供高效、便捷的知识管理解决方案。其设计灵感来源于经典的维基系统,但它结合了现代化的技术栈,提供了更加灵活和强大的功能。

该项目在github上已经 拥有25.2k star,并且目前还在持续更新

github地址:https://github.com/requarks/wiki

_20250103204437.jpg

文档地址:https://docs.requarks.io/

_20250103204457.jpg

主要特点

  • 简洁直观的界面

Wiki的界面非常简洁,用户可以快速上手,轻松创建和编辑页面。它提供了丰富的富文本编辑功能,支持 Markdown 语法,让编辑过程更加高效。

  • 权限管理与团队协作

Wiki提供了完善的权限管理功能,你可以对不同的用户设置不同的权限,确保信息的安全和准确。团队成员可以协作编辑文档,轻松分享和讨论。

  • 多语言支持

支持多种语言,可以满足全球团队的需求。用户可以根据自己的语言选择界面,操作更加灵活。

  • 高度可定制

你可以根据需求进行功能扩展,甚至修改源代码,以满足不同场景的使用需求。

  • 开源和免费的

作为一个开源项目,Wiki可以自由使用,非常适合中小型团队或开发者使用。

私有化部署及使用

我们可以使用docker部署的项目坚决不使用其他方式部署,这个项目作者提供了docker镜像及部署文档。
_20250103205219.jpg

我此处采用的是docker-compose 部署的,因为我之前已经安装过mysql的是数据库了,所以直接在mysql上创建一个wiki的数据库就可以了。次项目支持多种数据库,如果你有其它数据库(mysql, postgres, mariadb, mssql or sqlite)也可以直接使用。

docker-compose 文件

我们在服务器上创建一个部署目录,在该目录下创建一个docker-compose.yml文件。内容如下:

# version: "3" 新版本的docker-compose 可以省略此行
services:wiki:image: ghcr.io/requarks/wiki:2environment:DB_TYPE: mysqlDB_HOST: 192.168.31.20DB_PORT: 3306DB_USER: rootDB_PASS: 123456DB_NAME: wikirestart: unless-stoppedports:- "3000:3000"  # 此处镜像默认的版本号为3000 

启动服务

在部署目录下使用以下命令启动容器

docker-compose up -d 

查看容器日志

docker-compose logs -f 

如下所示则服务正常启动

_20250103210042.jpg

使用示例

服务启动后在浏览器中输入以下地址访问: http://YOUR-SERVER-IP:3000/

  • 登录

在出现的页面中设置管理员用户名密码及服务地址之后点击 Install 按钮

_20250103210559.jpg

完成之后在登录页输入我们刚设置的用户名密码登录系统

_20250103210825.jpg

  • 设置中文

登录之后进入管理页面

_20250103211016.jpg

在管理页面中的语言包菜单下设置中文,步骤如下:

_20250103211626.jpg

设置完之后我们就可以看到菜单变为中文了:

_20250103211652.jpg

  • 创建首页

设置完之后我们点击如下,去创建首页

_20250103211958.jpg

_20250103212119.jpg

我们使用markdown编辑器创建一个简单的首页

_20250103212344.jpg

编辑完之后我们也可以创建其他页面,效果如下

_20250103214834.jpg

_20250103214846.jpg

  • 其它功能

还有一些其它功能比如修改历史查看、git存储等,我们就不在此处一一做演示了,家人们自行尝试吧。

总结

Wiki 是一款功能强大、易于使用的开源 Wiki 系统,适用于个人、团队和企业的知识管理需求。其简洁的界面、强大的权限管理、多语言支持以及高度可定制性,使得它成为一个非常值得推荐的工具。而且,Wiki 还支持私有化部署,保障企业数据的安全性。

无论你是个人开发者,还是企业团队,Wiki 都能帮助你构建一个高效的知识管理平台。通过本文的步骤,你也可以轻松完成其私有化部署,打造一个专属于你的知识库。

相关文章:

探索Wiki:开源知识管理平台及其私有化部署

在如今的信息时代,企业和团队的知识管理变得愈发重要。如何有效地存储、整理、共享和协作,是提高团队效率和创新能力的关键因素之一。今天,我要为大家介绍一款非常有用的github上开源知识管理工具——Wiki,并分享它的私有化部署方…...

网关的主要作用

在网络安全领域,网关扮演着举足轻重的角色,它不仅是网络间的桥梁,更是安全防线的守护者。以下是网关在网络安全中的几个关键作用: 1. 防火墙功能:网关常常集成了防火墙技术,能够对进出网络的数据包进行严格…...

黑马JavaWeb开发跟学(十五).Maven高级

黑马JavaWeb开发跟学.十五.Maven高级 Maven高级1. 分模块设计与开发1.1 介绍1.2 实践1.2.1 分析1.2.2 实现 1.3 总结 2. 继承与聚合2.1 继承2.1.1 继承关系2.1.1.1 思路分析2.1.1.2 实现 2.1.2 版本锁定2.1.2.1 场景2.1.2.2 介绍2.1.2.3 实现2.1.2.4 属性配置 2.2 聚合2.2.1 介…...

TLS(传输层安全,Transport Layer Security)是用于在网络上提供通信安全的一种加密协议。

TLS(传输层安全,Transport Layer Security)是用于在网络上提供通信安全的一种加密协议。它是SSL(安全套接层,Secure Sockets Layer)的继任者,旨在确保两个应用程序之间数据传输的隐私性、完整性…...

Statistic for ML

statistical concept 統計學概念 免費完整內容 PMF and CDF PMF定義的值是P(Xx)&#xff0c;而CDF定義的值是P(X < x)&#xff0c;x為所有的實數線上的點。 probability mass function (PMF) 概率質量函數 p X ( x ) P ( X x ) pX(x)P(Xx) pX(x)P(Xx) 是離散隨機變數…...

Node.js 函数

Node.js 函数 1. 概述 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 编写服务器端和网络应用程序。在 Node.js 中,函数是一等公民,意味着它们可以作为变量传递,可以作为参数传递给其他函数,也可以从其他函数返回。本文将详细…...

数据结构:时间复杂度和空间复杂度

我们知道代码和代码之间算法的不同&#xff0c;一定影响了代码的执行效率&#xff0c;那么我们该如何评判算法的好坏呢&#xff1f;这就涉及到了我们算法效率的分析了。 &#x1f4d6;一、算法效率 所谓算法效率的分析分为两种&#xff1a;第一种时间效率&#xff0c;又称时间…...

使用 Docker 安装 Redis

随着微服务架构和分布式应用的广泛应用&#xff0c;缓存技术已经成为提升系统性能和响应速度的关键手段。而 Redis 作为一个高效、轻量级的内存数据存储解决方案&#xff0c;因其极高的性能和丰富的数据结构支持&#xff0c;广泛应用于缓存、消息队列、实时分析等领域。 在现代…...

【源码+文档+调试讲解】“健康早知道”微信小程序

摘 要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;“健康早知道”微信小程序也不例外&#xff0c;但目前国内的市场仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代…...

Linux中操作中的无痕命令history技巧

当我们需要查看Linux下的操作记录时&#xff0c;就可以用history命令来查看历史记录 1、关闭history记录功能&#xff0c;如果不想让别人看到自己在Linux上的操作命令&#xff0c;可以用这个命令 set o history 2、打开history记录功能 set -o history3、清空记录 histor…...

Springboot+NettySocket通讯教程

需求背景 最近需要对接一些硬件设备,他们选择了socket通讯,并且使用的是私有化协议加密通讯。这种情况下适合原生的socket加解密解析,不适合NettySocket,这在开发中增加了难度。所有的代码都要手动去敲。 // springboot原生socket通讯教程https://blog.csdn.net/renkai72…...

Spingboot定时任务与过滤器,拦截器

文章目录 Spingboot定时任务与过滤器&#xff0c;拦截器1. 定时任务Scheduled2. 拦截器 Spingboot定时任务与过滤器&#xff0c;拦截器 1. 定时任务Scheduled 一种是使用 Spring 自带的定时任务处理器 Scheduled 注解另一种就是使用第三方框架 Quartz &#xff0c;Spring Boo…...

大数据学习(33)-续集

今天开始重新更新大数据 -- 感谢大家的支持&#xff01;&#xff01;&#xff01;...

overleaf写学术论文常用语法+注意事项+审阅修订

常用语法 导入常用的宏包 \usepackage{cite} \usepackage{amsmath,amssymb,amsfonts} \usepackage{algorithmic} \usepackage{algorithm} \usepackage{graphicx} \usepackage{subfigure} \usepackage{textcomp} \usepackage{xcolor} \usepackage{lettrine} \usepackage{booktab…...

基于fMRI数据计算脑脊液(CSF)与全脑BOLD信号的时间耦合分析

一、前言 笔者之前的文章《基于Dpabi和spm12的脑脊液(csf)分割和提取笔记》,介绍了如何从普通的fMRI数据中提取CSF信号。首先是基础的预处理,包括时间层校正、头动校正,再加上0.01-0.1Hz的带通滤波。接着用SPM12分割出CSF区域,设置一个比较严格的0.9阈值,确保提取的真是…...

使用Dockerfile构建镜像

由于格式和图片解析问题&#xff0c;为了更好体验可前往 阅读原文 前面我们学习了可以使用docker commit命令式构建新的镜像&#xff0c;而此方式相对来说比较繁琐且对于旁人来说内部都是黑箱操作&#xff0c;无法了解制作的具体细节。很有可能很长时间后制作者也会对其忘却&am…...

SQL字符串截取函数——Left()、Right()、Substring()用法详解

SQL字符串截取函数——Left&#xff08;&#xff09;、Right&#xff08;&#xff09;、Substring&#xff08;&#xff09;用法详解 1. LEFT() 函数&#xff1a;从字符串的左侧提取指定长度的子字符串。 LEFT(string, length)string&#xff1a;要操作的字符串。length&#x…...

python字符串函数用法大全

目录 1.0 capitalize()函数 2.0 title()函数 3.0 swapcase()函数 4.0 lower()函数 5.0 upper()函数 7.0 center()函数 8.0 ljust()函数 9.0 rjust()函数 10.0 zfill()函数 11.0 count(&#xff09;函数 13.0 decode()函数 14.0 expandtabs()函数 15.0 find()函数 16.0 rfind()…...

纵览!报表控件 Stimulsoft Reports、Dashboards 和 Forms 2025.1 新版本发布!

Stimulsoft 2025.1 新版发布&#xff0c;旨在增强您创建报告、仪表板和 PDF 表单的体验&#xff01;此最新版本为您带来了许多改进和新功能&#xff0c;使数据处理更加高效和用户友好。亮点包括对 .NET 9 的支持、Microsoft Analysis Services 的新数据适配器、发布向导中适用于…...

【蓝桥杯——物联网设计与开发】Part2:OLED

目录 一、OLED &#xff08;1&#xff09;资源介绍 &#x1f505;原理图 &#x1f505;驱动原理 &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#xff09;实验现象 二、OLED接口函数封装 &#x1f7e1;️OLED_Wri…...

壁纸样机神器,这个工具适合专业设计师用吗?

壁纸样机神器在一定程度上适合专业设计师使用&#xff0c;但是否适合具体取决于设计师的需求和使用场景&#xff1a; 适合专业设计师的方面 快速实现设计想法&#xff1a;专业设计师在创作过程中&#xff0c;有时需要快速将设计想法变为可视化的效果图&#xff0c;以便进行初…...

Linux环境(CentOs7) 安装 Node环境

Linux环境&#xff08;CentOs7&#xff09; 安装 Node环境 使用NodeSource安装Node.js 1、清除缓存&#xff08;可选但推荐&#xff09; sudo yum clean all2、添加NodeSource仓库&#xff0c;根据你想要安装的Node.js版本&#xff0c;选择相应的NodeSource安装脚本。例如&am…...

【Springboot知识】Springboot集成assembly打包组件

assembly系统打包 概述一、项目结构二、配置Maven Assembly插件三、配置assembly.xml四、打包项目五、部署和使用六、注意事项 assembly配置文件说明一、assembly配置文件的基本结构二、assembly配置文件的关键元素三、assembly配置文件的示例四、assembly配置文件与Spring Boo…...

逻辑推理算法

为说明逻辑推理算法的用法&#xff0c;下面是一个简单的逻辑推理算法的伪代码示例&#xff0c;使用了命题逻辑的推理规则&#xff08;例如&#xff1a;命题逻辑中的合取、析取、否定等&#xff09;。代码实现了一个简单的推理引擎&#xff0c;可以根据已知的前提推导出新的结论…...

鸿蒙1.2:第一个应用

1、create Project&#xff0c;选择Empty Activity 2、配置项目 project name 为项目名称&#xff0c;建议使用驼峰型命名 Bundle name 为项目包名 Save location 为保存位置 Module name 为模块名称&#xff0c;即运行时需要选择的模块名称&#xff0c;见下图 查看模块名称&…...

数据结构考前一天

线性表&#xff1a;矩阵&#xff0c;链表&#xff08;单链表必考&#xff09; 栈和队列&#xff1a;出入判断&#xff0c;括号匹配&#xff0c;中缀转后缀 字符串数组&#xff1a;模式匹配next&#xff0c;nextval数组&#xff0c;数组寻址&#xff0c;三角矩阵对应一维数组k…...

【记录】Angr|Angr 标准库函数替换怎么看哪些库函数被Angr支持?

文章目录 前言分析什么是库函数替换?为什么需要库函数替换? 如何查找支持的库函数官方支持列表目录结构说明 常用的替换包括哪些&#xff1f;1. 字符串处理函数2. 内存管理函数3. 文件操作函数 高级技巧1. 自定义库函数实现2. 条件替换 常见问题与解决方案详解1. 找不到合适的…...

npx和npm和pnpm的异同

npx、npm 和 pnpm 都是用于管理和运行 JavaScript/Node.js 包的工具&#xff0c;但它们的功能和使用场景有所不同。以下是它们之间的异同点&#xff1a; 一、共同点 Node.js 包管理生态的一部分&#xff1a; 它们都围绕 Node.js 生态系统&#xff0c;提供包管理功能。 支持安装…...

【蓝桥杯比赛-C++组-经典题目汇总】

1. 最短路 题目描述&#xff1a; 如下图所示&#xff0c;G是一个无向图&#xff0c;其中蓝色边的长度是1、橘色边的长度是2、绿色边的长度是3。 则从 A 到 S 的最短距离是多少&#xff1f; #include <iostream> #include <cstring> using namespace std; const i…...

redis7基础篇2 redis的主从模式1

目录 一 主从模式 1.1 主从复制的作用 1.2 配置常用命令 1.3 主从复制常见问题 1.4 主从复制的缺点 1.5 redis主从复制原理 二 redis主从复制的搭建流程 2.1 注意事项 2.2 redis的主从复制架构图 2.3 以6379.conf配置文件配置为例 2.4 以6380.conf配置文件配置为例 …...

QT----------QT Data Visualzation

实现思路&#xff1a; 配置项目&#xff1a;在 .pro 文件中添加 QT datavisualization 以引入 QT Data Visualization 模块。创建主窗口&#xff1a;使用 QMainWindow 作为主窗口&#xff0c;添加 Q3DScatter、Q3DBars 和 Q3DSurface 等三维视图组件。初始化和创建三维图表&a…...

默认ip无法访问,利用dhcp功能获取ip进行访问的方法

应用场景&#xff1a; ac的默认ip如192.168.1.1在pc与ac的eth2以后网口直连无法ping通&#xff0c;而且pc改为dhcp自动获取ip也获取不到ip地址&#xff0c;无法进行web配置和命令行操作。 原因是ac或其他设备被修改了默认ip或者端口vlanid&#xff0c;现在的端口vlan对应子接…...

重学 Android 自定义 View 系列(十):带指针的渐变环形进度条

前言 该篇文章根据前面 重学 Android 自定义 View 系列(六)&#xff1a;环形进度条 拓展而来。 最终效果如下&#xff1a; 1. 扩展功能 支持进度顺时针或逆时针显示在进度条末尾添加自定义指针图片使用线性渐变为进度条添加颜色效果 2. 关键技术点解析 2.1 进度方向控制的…...

websocket在各主流浏览器中默认的请求头是如何设置的?

谷歌浏览器(Chrome) 在谷歌浏览器中,当创建一个 WebSocket 连接时,会自动添加一些标准的请求头。其中包括Sec - WebSocket - Key,这个是一个 Base64 - 编码的随机值,长度为 16 字节。它用于在服务器端进行安全验证,确保连接的合法性。例如,Sec - WebSocket - Key: dGhl…...

C++之map和set的模拟实现

目录 引言 红黑树迭代器实现 红黑树元素的插入 map模拟实现 set模拟实现 之前我们已经学习了map和set的基本使用&#xff0c;但是因为map和set的底层都是用红黑树进行封装实现的&#xff0c;上期我们已经学习了红黑树的模拟实现&#xff0c;所以本期我们在红黑树模拟实现…...

大学物理(2)期末复习笔记【1】

图片不知道咋回事居然不能直接复制上来&#xff0c;过段时间修改好再编辑一下 9. 振动 一、振动 def&#xff1a;某一物理量在某一数值附近做周期性变化 周期&#xff08;T&#xff09;&#xff1a;完成一次往复运动所需要的时间&#xff08;s&#xff09; 频率&#xff08;…...

25.1.3

java数组&#xff1a; dataType[] arrayRefVar //推荐写法 //int[] mylist //或 dataType arrayRefVar[] //int mylist[]创建数组对象&#xff1a; arrayRefVar new dataType[arraySize]; dataType[] arrayRefVar new dataType[arraySize];for-each循环&#xff1a; jav…...

数据库知识汇总2

一. 范式 定义&#xff1a;范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式&#xff1b; 一个低一级范式的关系模式&#xff0c;通过模式分解&#xff08;schema decomposition&#xff09;可以转换为若干个高一…...

SpringBoot:生成条形码的项目

在软件开发中&#xff0c;条形码和二维码的生成与解析是一项常见需求&#xff0c;特别是在商品管理、物流跟踪、支付验证等场景。Spring Boot 作为一个流行的微服务框架&#xff0c;提供了快速构建应用的能力。本文将介绍如何在 Spring Boot 项目中生成条形码&#xff0c;并提供…...

docker内外如何实现ROS通信

写在前面 在一台电脑上装有docker&#xff0c;docker内外均装有ROS系统&#xff0c;现在想要实现docker内外的ROS通信&#xff0c;怎么办呢&#xff1f; 首先&#xff0c;因为是同一台电脑的docker内外&#xff0c;所以IP本身是互通的&#xff0c;不需要在/etc/hosts中添加IP…...

leetcode 面试经典 150 题:多数元素

链接多数元素题序号169题型数组解法1. 排序法、2. Boyer-Moore投票算法难度简单熟练度✅✅✅✅✅ 题目 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的…...

SpringBoot返回文件让前端下载的几种方式

01 背景 在后端开发中&#xff0c;通常会有文件下载的需求&#xff0c;常用的解决方案有两种&#xff1a; 不通过后端应用&#xff0c;直接使用nginx直接转发文件地址下载&#xff08;适用于一些公开的文件&#xff0c;因为这里不需要授权&#xff09;通过后端进行下载&#…...

论述数据、数据库、数据库管理系统、数据库系统的概念。

数据是指描述事物特征的符号记录&#xff0c;可以是数字、文字、图像、音频等形式。数据在现代社会中广泛存在于各个领域&#xff0c;对于组织和管理数据&#xff0c;提供数据的可靠性、一致性和安全性至关重要。 数据库是一个有组织的数据集合&#xff0c;它存储在计算机系统…...

【深度学习基础之多尺度特征提取】多尺度卷积神经网络(MS-CNN)是如何在深度学习网络中提取多尺度特征的?附代码(二)

【深度学习基础之多尺度特征提取】多尺度卷积神经网络&#xff08;MS-CNN&#xff09;是如何在深度学习网络中提取多尺度特征的&#xff1f;附代码&#xff08;二&#xff09; 【深度学习基础之多尺度特征提取】多尺度卷积神经网络&#xff08;MS-CNN&#xff09;是如何在深度…...

企业AAA认证的好处

体系认证#ISO三体系认证 #三体系认证好处 #企业双软认证好处 #ISO体系认证有哪些#体系认证办理流程及费用#招投标#招投标必备资质 企业信用评级AAA认证 办理条件及流程! 一、企业申请3A认证好处有哪些&#xff1f; 1.提高企业信誉&#xff1a; 拥有3A企业信用等级证书意味…...

PyTorch AMP 混合精度中grad_scaler.py的scale函数解析

PyTorch AMP 混合精度中的 scale 函数解析 混合精度训练&#xff08;AMP, Automatic Mixed Precision&#xff09;是深度学习中常用的技术&#xff0c;用于提升训练效率并减少显存占用。在 PyTorch 的 AMP 模块中&#xff0c;GradScaler 类负责动态调整和管理损失缩放因子&…...

分数阶傅里叶变换代码 MATLAB实现

function Faf myfrft(f, a) %分数阶傅里叶变换函数 %输入参数&#xff1a; %f&#xff1a;原始信号 %a&#xff1a;阶数 %输出结果&#xff1a; %原始信号的a阶傅里叶变换N length(f);%总采样点数 shft rem((0:N-1)fix(N/2),N)1;%此项等同于fftshift(1:N)&#xff0c;起到翻…...

腾讯云OCR在制造业的应用:内存模组产品识别实战指南

腾讯云OCR在制造业的应用 一、 背景二、 腾讯云OCR技术概述三、 内存模组产品识别需求四、基于腾讯云OCR的内存模组产品识别4.1、准备工作4.2、API调用与代码实现 五、 代码示例六、 应用场景七、 总结 一、 背景 制造业在产品识别环节经历着前所未有的挑战。传统的依赖人工进…...

基于STM32F1的基本定时器的原理

一&#xff0c;基本定时器原理 1&#xff0c;进入数据手册&#xff0c;了解基本定时器的主要特征 2&#xff0c;看懂理解基本定时器框图 3&#xff0c;查阅2.3章中的存储器映像以及时钟树就可以知道定时器是挂载在哪个总线下&#xff0c;从而知道对应是时钟频率 4&#xff0c;…...

Adobe Acrobat Pro DC 2023 下载安装教程,附详细图文

简介&#xff1a; Adobe Acrobat Pro DC 2023 是由 Adobe 公司推出的一款全面的 PDF 编辑、查看和管理软件。这款软件无论是个人用户还是企业级用户&#xff0c;都可以凭借其强大的功能满足不同的需求。作为一款业内领先的 PDF 处理工具&#xff0c;Adobe Acrobat Pro DC 不仅…...