前言
前两天我简单介绍了下 Affine 知识库系统,然后有人可能就有疑问了,Affine 占用那么高,我只是想部署一个小知识库,也不需要那么多复杂的特性,有没有轻巧一点的系统呢?
还真有,在之前个人写小 Wiki 在线整理时曾经了解并使用过 OtterWiki 这个知识库系统,使用 Flask 框架,基于 Python 编写,使用 Markdown 作为标记语言,总体来说还是比较舒服的,页面设计不算十分前卫但也不算落后。

且自身还支持 Git Http 服务器,可以通过 Git 协议拉取和管理知识库内容。还是有点意思的。
要求
OtterWiki 的 CPU 需求非常低,你甚至可以在树莓派上运行它。所需的 RAM 大约为 100MiB,官方给出的推荐部署方式是使用 Docker 部署。
需要使用专用域名,例如wiki.example.com,不能使用子目录example.com/wiki,浏览器需要启用 Javascript。
安装 Docker
我们使用 Linuxmirrors 提供的 Docker 安装脚本来执行 Docker 的安装,它可以在多种 Linux 系统上安装 Docker。
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
在遵照脚本步骤完成安装 Docker 后,我们进行下一步操作。
反向代理服务
我个人推荐使用 Caddy 作为反向代理服务的选择,它和 OtterWiki 一样占用的性能极低,且可以自动为域名申请 Https 证书。
Caddy 的部署和安装可以参见官方文档,我们在这里仅介绍 Debian/Ubuntu 环境下的安装和使用方式。
安装 Caddy
使用以下命令在 Debian/Ubuntu 环境下一键安装和启动 Caddy 本身以及需求的组件以及配置 Caddy 官方软件包仓库(稳定版):
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg chmod o+r /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy
执行此安装操作后,Caddy 将自动启动并作为名为 caddy 的 systemd 服务运行 Caddy。
配置 Caddy 反向代理
我们打开/etc/caddy/目录下的Caddyfile文件,在最下面首先添加如下配置:
wiki.example.com {
reverse_proxy 127.0.0.1:8080
encode zstd gzip
}
这代表 Caddy 会反代wiki.example.com的请求,并把请求转发到在本地8080端口上暴露的服务,我们这篇教程会让 OtterWiki 在 8080 端口上部署,这是官方给出的默认配置端口,如果你想要更换端口,那么在上面的配置文件和后面的配置文件中你都需要更换对应端口。
Caddy 支持通过配置文件启用 Zstandard和 Gzip 压缩功能,这是主流的两种压缩算法。我们只需要把 encode zstd gzip加入域名配置文件下方即可,后续加入其他配置也是类似这样放置。
同样你也需要更换wiki.example.com为你实际想部署的域名,完成配置后,确保域名已经解析到服务器的前提下,使用systemctl restart caddy重启 Caddy 服务。
安装 OtterWiki
我们先新建放置 OtterWiki 数据的文件夹,然后终端进入其中。
mkdir otterwiki cd otterwiki
在otterwiki目录下新建docker-compose.yml文件并填入如下内容
services:
otterwiki:
image: redimp/otterwiki:2
restart: unless-stopped
ports:
- 127.0.0.1:8080:80
volumes:
- ./app-data:/app-data
接下来使用以下命令拉取和启动编排镜像文件:
docker compose up -d
如果你的域名解析和 Caddy 配置正确,稍等片刻你就可以在域名上看到 OtterWiki 了。
结束
OtterWiki 启动后注册的第一个账户将作为管理员账户,所以部署启动后请尽快先注册账户哦。
评论
评论加载中...