Wiki搭建

简介

Wiki 是一款支持多人在线编辑、保留历史版本、页面间可自由链接跳转的协作知识创作平台。

Github 上有一个开源项目就是这个,https://github.com/requarks/wiki

本文介绍如何在本地搭建一个这样的平台。

部署

简单点,采用 Docker 部署。

wiki 需要有数据库支持,如果你本地有 MySQL,敲下面的命令,创建一个 wiki 数据库。

sql 复制代码
create schema wiki collate utf8mb4_general_ci;

接着敲下面这行命令,拉镜像,并启动容器,注意数据库账号、密码更换成自己的。

shell 复制代码
docker run -d -p 8080:3000 --name wiki --restart unless-stopped -e "DB_TYPE=mysql" -e "DB_HOST=host.docker.internal" -e "DB_PORT=3306" -e "DB_USER=root" -e "DB_PASS=123456" -e "DB_NAME=wiki" ghcr.io/requarks/wiki:2

如果本地有 PostgreSQL,敲下面的命令创建一个 wiki 数据库。

sql 复制代码
create database wiki
    with owner postgres;

接着敲下面这行命令,注意数据库账号、密码更换成自己的。

shell 复制代码
docker run -d -p 8080:3000 --name wiki --restart unless-stopped -e "DB_TYPE=mysql" -e "DB_HOST=host.docker.internal" -e "DB_PORT=3306" -e "DB_USER=root" -e "DB_PASS=123456" -e "DB_NAME=wiki" ghcr.io/requarks/wiki:2

如下,跑起来了。

看下容器日志,Nothing,无事发生,没有消息就是消息。

使用

登录浏览器,访问 http://localhost:8080,如下,进入首次登录设置页面

填完,点 INSTALL 安装

进入登录页面,使用前面设置的管理员账户登录(该说不说,登录界面有格调)

登录成功,CREATE HOME PAGE(创作主页)、ADMINISTRATION (控制台)

先进入控制台,设置语言为简体中文(Chinese Simplified)

舒服了

回到主页,这回点 创建首页

这里可以选多种编辑器,我这里选 Markdown

随笔写点,点 OK

随便写点内容,点 创建

好了

其他人访问该页面是这样(看起来还不错)

新增编辑用户,可以在下面这里设置

组权限在下面这里设置

锐评

搭建完了,博主锐评一波

先说优点:

  • github 上 starts 数量最多,社区活跃,问题少;

  • 界面简洁优雅,所见即所得,大道至简,程序员会很喜欢;

  • Markdown 页面,打印出来的效果非常好;

  • 功能齐全,有用户/组/操作权限设置,多而不繁杂,刚刚好;

  • 附带功能多,除了页面还有标签、主题、存储和支持 API 访问;

缺点也有:

  • 菜单汉化(国际化)不彻底,左侧菜单翻译过来了,右侧一些小菜单没有翻译;

  • 页面分享的社区,大多是国外的软件,国内软件仅支持微博;

总结来说,瑕不掩瑜,非常 Nice 的 wiki 工具。

相关推荐
喵个咪几秒前
GoWind Shop:一个 proto 文件如何生成后端、前端、文档、校验六路代码
vue.js·后端·go
用户7783366132111 分钟前
从 0 搭一个关键词排名监控:核心思路 + 可运行代码
后端·python·api
喵个咪3 分钟前
GoWind Shop 出海实战:多语言商品内容怎么存、怎么录、怎么按 locale 取
vue.js·后端·go
郝学胜_神的一滴1 小时前
C++20 高级编程 001:从极简HelloWorld到现代类型体系全梳理
c++·后端
卷无止境1 小时前
FastAPI中间件全解析:请求处理链条上的隐形关卡
后端·python·fastapi
badhope1 小时前
MCP协议:号称要统一AI工具调用,但大多数人连第一步都走不对
后端·架构
思考着亮2 小时前
2. Redis 缓存实战
后端
晚安code2 小时前
Java 并发编程必会的 JUC 辅助类:从 Callable 到阻塞队列
后端
叱咤月海鱼鱼猫2 小时前
后端生成图片传递到前端
后端
长栎2 小时前
你写的 AI 品控规则三个月就过期——不是规则错了,是你没给它做"回归测试"
后端