avatar

PiDIN

Play In Docker In NAS

  • 首页
  • 关于本站
  • 项目地址
  • 发布文章
Home 开源的现代化个人/团队 知识库: Wiki.js 26.1K ⭐
文章

开源的现代化个人/团队 知识库: Wiki.js 26.1K ⭐

Posted 2025-02-19 Updated 2025-04- 19
By srebro
22~28 min read

一、wiki.js 知识库简介

image-20250208161258441

基本概述

  • 定义 :Wiki.js 是一个开源、现代、轻量且功能强大的 Wiki 应用程序,基于 Node.js 构建,旨在帮助个人和团队轻松创建、管理和共享知识。
  • 开源性质 :它遵循 AGPLv3 许可证,任何人都可以免费下载、使用和修改其源代码,这种开源特性也意味着用户可以根据自身需求进行定制和扩展,同时社区的贡献也不断为其增添新功能和优化
  • 官网地址:https://js.wiki/

功能特点

  • 编辑与内容创作 :支持多种编辑方式,包括 Markdown、所见即所得编辑器和 HTML 编辑,满足不同用户群体的需求。无论是开发人员还是非技术人员,都能方便地进行内容创作和编辑。同时,还具备实时预览、工具栏 / 键盘快捷方式等辅助功能,提高编辑效率。
  • 版本控制与历史追踪 :所有内容修改都会被跟踪记录,用户可以轻松恢复到以前的状态或随时恢复已删除的页面,还能可视化地比较同一页面的两个版本,查看更改的确切内容,这对于知识的更新和管理非常有帮助,确保了内容的安全性和可追溯性。
  • 多语言支持 :被翻译成 40 多种语言,并且具有原生 RTL 支持,可以以多种语言提供维基内容,用户能够在同一页的语言之间快速切换,这使得其能够满足不同地区和语言背景的用户需求,构建多语言的知识库。
  • 多媒体资产管理 :通过资产管理器,用户可以方便地上传和管理各种媒体资产,如图片、视频等,并能轻松地在文件夹中分类管理这些资产,同时还能查看它们被使用的地方,方便对多媒体内容进行组织和利用。
  • 搜索功能 :内置了搜索引擎,无需额外设置即可使用,对于大多数用户来说已经足够。此外,还支持使用 Algolia、Azure 搜索等云搜索服务,以及现有的 ES 装置来为维基搜索功能提供动力,从而满足不同用户对搜索性能和功能的更高要求。
  • 存储与备份 :支持多种存储方式,包括 Git、企业云存储以及本地 / 网络存储等,用户可以将内容备份到不同的存储位置,如 GitHub、GitLab、BitBucket、Azure DevOps 等 Git 服务,AWS S3、Azure Blob 存储、Google 云存储等云存储服务,以及磁盘 / 网络共享或网络上的远程服务器等本地存储位置,确保数据的安全性和可靠性。

安全与权限管理

  • 身份认证 :提供了多种身份认证方式,包括本地身份认证、第三方身份验证服务(如谷歌、Facebook、微软、GitHub、Discord、Slack 等)以及企业认证(通过 LDAP、SAML、CAS、Auth0、Okta、Azure AD 等与企业现有认证集成),还支持两阶段认证,为知识库的安全访问提供了有力保障。
  • 权限管理 :具备灵活的权限管理机制,可以按需创建用户组,为不同组分配不同的权限,还可以基于页面规则进行更精细的权限设置,从而确保只有经过授权的用户才能访问和编辑特定的知识内容,保护企业或团队的知识资产。

可定制性与扩展性

  • 外观定制 :用户可以完全自定义知识库的外观,包括主题、颜色、布局等,还支持明暗模式,使其能够符合企业的品牌形象或个人的审美需求,提供更好的用户体验。
  • 模块化与插件扩展 :采用模块化设计,提供了广泛的模块,用户可以根据实际需求打开或关闭对应功能。此外,还支持插件扩展,通过安装各种插件来进一步增强其功能,如图表插件、地图插件、代码高亮插件等,满足不同场景下的个性化需求。
  • GraphQL API :公开了 GraphQL API,开发者可以通过它访问和修改 Wiki 的所有资源,从而实现更深层次的定制和集成,与其他系统或应用进行数据交互和功能扩展。

应用场景

  • 企业内部知识库 :企业可以使用 Wiki.js 搭建内部知识库,方便员工共享和查找技术文档、项目资料、流程规范等,通过 LDAP 集成等身份认证方式实现统一身份验证,确保信息安全,提高团队协作效率和知识管理水平。
  • 开源项目文档 :开源项目团队可选择 Wiki.js 作为项目文档平台,利用其强大的 Markdown 编辑器和版本控制功能,方便团队成员协作编写和维护文档,保证文档的准确性和及时性,促进项目的顺利进行。
  • 教育机构在线资源库 :教育机构可以利用 Wiki.js 搭建在线资源库,供教师和学生共享教学资料、学习资源等,通过插件扩展实现图表展示、在线讨论等功能,提升教学效果和学习体验。

二、安装部署&优化

使用Docker Compose方式部署

使用pg数据库作为数据源

version: "3"
services:

  db:
    #image: postgres:15-alpine
    image: docker.cnb.cool/srebro/pidin/postgres:15-alpine
    environment:
      POSTGRES_DB: srebro
      POSTGRES_PASSWORD: srebro.cn
      POSTGRES_USER: wikijs
    logging:
      driver: "none"
    restart: unless-stopped
    volumes:
      - ./db-data:/var/lib/postgresql/data

  wiki:
    #image: ghcr.io/requarks/wiki:2
    image: docker.cnb.cool/srebro/pidin/wiki:2
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: srebro
      DB_PASS: srebro.cn
      DB_NAME: wiki
    restart: unless-stopped
    ports:
      - "18888:3000"

Nginx 反向代理:

[root@hcss-ecs-195f conf.d]# cat doc-nginx.conf
#doc


  server {
        listen       443 ssl;
        http2 on;
        server_name  doc.srebro.cn; ##修改成自己的域名地址
        error_page  404              /404/404.html;
        charset utf-8;

		ssl_certificate /home/application/nginx/cert/srebro.cn.pem; 
		ssl_certificate_key /home/application/nginx/cert/srebro.cn.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;


        location / {
        proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header x-wiz-real-ip $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-Proto $scheme;
        	proxy_pass http://localhost:18888;
            }
}   

访问测试

  • 运维小弟-知识库

image-20250210175156566

优化配置

  • 知识库的结构定义成,自定义导航,这样更美观简洁

    image-20250208162642791

  • 为内容设置备份和同步目标

可以设置git的备份方式,我这里以CNB代码仓库作为案例演示

image-20250208163024771

(1)、首先建立 一个 代码仓库, 私有仓库/公开仓库 都行 ,看你自己是否选择开放

(2)、 初始化仓库 创建 一个 master 分支 【⚠️ CNB 默认新建的仓库,在main 分支下】

(3)、在CNB 个人设置中,创建一个添加访问令牌,⚠️ 本地小本本记下来📒 【实则就是用户名/密码的方式】,给足权限

image-20250208163633754

(4)、设置 wikijs 这边,认证方式选为:basic,看图配置

⚠️ : 上面的访问令牌 就是用户名/密码

image-20250208163402467

image-20250208163442524

配置好后可以进行Force Sync 测试,看看是否有报错

image-20250208163458849

三、获取Wiki.js

  • CNB 仓库地址:https://cnb.cool/srebro/pidin/-/tree/main/pidin/tools/wiki.js
网络工具
网络工具
License:  CC BY 4.0
Share

Further Reading

Jun 5, 2025

MAZANOKE:离线运行的全能图片处理神器,隐私安全有保障

MAZANOKE 介绍 MAZANOKE 是一个简单的图像优化器,它可以在您的浏览器中运行,离线工作,并在不离开您的设备的情况下保持您的图像。 🚢 项目地址 Github:https://github.com/civilblur/mazanoke 🚀MAZANOKE 特征 🖼️ 在浏览器中优化

Jun 2, 2025

FileCodeBox,轻量匿名文件中转站:快递柜式传输,免注册即传即取

FileCodeBox 介绍 FileCodeBox 是一个基于 FastAPI + Vue3 开发的轻量级文件分享工具。它允许用户通过简单的方式分享文本和文件,接收者只需要一个提取码就可以取得文件,就像从快递柜取出快递一样简单。 🚢 项目地址 Github:https://github.com/

May 26, 2025

Nextcloud平替?FileGator 轻松实现多用户文件管理

FileGator 介绍 FileGator 是一个免费的、开源的、自托管的 Web 应用程序,用于管理文件和文件夹,也是一个强大的多用户文件管理器。可以让管理员和其他用户管理具有不同访问权限、角色和主文件夹的文件。文件上传支持拖放、进度条、暂停和恢复。 🚢 项目地址 Github:https:/

OLDER

一个开源的手绘图神器: Excalidraw 97.5k⭐

NEWER

一个开源的Linux命令大全 | Web在线速查工具 33.1k⭐

Recently Updated

  • MAZANOKE:离线运行的全能图片处理神器,隐私安全有保障
  • FileCodeBox,轻量匿名文件中转站:快递柜式传输,免注册即传即取
  • 「别让灵感溜走!」​​10分钟搭建轻量级笔记应用 Blinko​​ ——让每个想法都有归宿
  • Nextcloud平替?FileGator 轻松实现多用户文件管理
  • Domain Admin:域名SSL证书监控+自动续签,运维从此0焦虑

Trending Tags

网络工具 无线电 人工智能 智能家居 影音娱乐 阅读学习 sre

Contents

©2025 PiDIN. Some rights reserved.

Using the Halo theme Chirpy