雨云搭建 Wiki.js 个人知识库

用雨云 KVM 云服务器 Docker 部署 Wiki.js,笔记文档自己托管、Git 同步备份
发布于 更新于
14

收藏夹吃灰、微信收藏找不到、备忘录又不适合写长文——很多人的知识散落各处。Wiki.js 是开源的现代知识库系统,界面清爽、编辑器好用,最香的是它支持把文档后端接成 Git 仓库:每次保存自动提交,天然带版本历史,备份就是一次 git push。本文用一台雨云 KVM 云服务器,Docker 一把部署 Wiki.js + PostgreSQL,把个人知识库收归自己掌控。

一、先准备一台雨云 KVM 云服务器

Wiki.js 跑在 Node 上、还要配一个 PostgreSQL,比纯静态站吃资源,给 2 核 2G 体验更舒服;预算紧 1 核 2G 也能起,只是 PostgreSQL 要调小参数。想低成本起一台可以看国产高性价比云服务器,比如雨云:KVM 虚拟化、Debian/Ubuntu 镜像任选,新用户用优惠码 admin01 享五折,入门版折后约 9 元/月,支持 7 天无理由退款,拿来托管知识库很合适。挑机器可参考 VPS 怎么选不踩坑新手买 VPS 先看这几个配置参数

我选 Debian 12。基础安全按 VPS 到手第一件事做什么 走一遍,本文默认你已建好普通用户、开了 ufw。Wiki.js 默认用 3000 端口。

二、装 Docker 并拉起 Wiki.js + PostgreSQL

装 Docker:

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

建目录并写 docker-compose.yml(Wiki.js 和数据库放一起):

mkdir -p /opt/wikijs && cd /opt/wikijs
version: "3"
services:
  db:
    image: postgres:16-alpine
    container_name: wikijs_db
    environment:
      POSTGRES_DB: wiki
      POSTGRES_USER: wikijs
      POSTGRES_PASSWORD: 换一个强密码
    volumes:
      - ./db:/var/lib/postgresql/data
    restart: unless-stopped
  wiki:
    image: requarks/wiki:latest
    container_name: wiki
    depends_on:
      - db
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_NAME: wiki
      DB_USER: wikijs
      DB_PASS: 换一个强密码
    restart: unless-stopped

端口只绑 127.0.0.1,不直接对外,下一步用 Nginx 反代。放行后浏览器用 IP:3000 也能临时进。启动:

docker compose up -d

三、初始化与管理后台

打开 http://服务器IP:3000,第一次会让你设管理员账号密码,然后进入「管理 → 搜索引擎」初始化(选默认的 PostgreSQL 全文检索即可)。「管理 → 存储后端」可把文档接成 Git 仓库——填你的 Git 地址(自己搭的 雨云 Gitea 私有仓库 也行),每次保存自动提交,版本历史和备份一步到位。

建页面在左侧「新建页面」,支持 Markdown、富文本、代码块,还能插图表。分组、标签、权限(公开/登录可见/私有)都在后台配。

四、(可选)Nginx 反代 + HTTPS

绑域名后反代到 127.0.0.1:3000,certbot 申请证书(步骤同 雨云搭建 Vaultwarden 的反代配置),外网用 https://你的域名 访问更稳更安全。

五、踩过的坑与经验

  • 内存吃紧:1 核 2G 上 PostgreSQL 容易 OOM。给 PG 的 shared_buffers 调小(如 128MB)、max_connections 降到 20,能稳跑;或者直接上 2 核 2G。
  • 数据库连不上:Wiki.js 起不来多半是 DB_PASS 和 db 容器不一致,或 depends_on 还没等 PG 就绪。确认两边密码一致、稍等 PG 完全启动再查 docker logs wiki
  • Git 后端首次同步:接 Git 后第一次保存会 push 到仓库,仓库权限没配好会报错;先用 SSH 密钥或账号令牌测通再接。
  • 备份双保险:数据库卷 ./db 和 Git 仓库都备份一份到 雨云对象存储,服务器重装也能恢复。
  • 安全基线:管理后台强密码 + HTTPS + 限制来源 IP,完整防护见 VPS 安全配置实战

小结

Wiki.js 把「零散笔记」变成了一个结构清晰、自己托管的私有知识库,Git 后端让版本和备份不再是负担。部署就是一个 docker-compose(Wiki.js + PostgreSQL),难点在内存调优和 Git 后端配置。当知识库主机推荐雨云这类低价稳定的 KVM 机器——优惠码 admin01 五折、7 天无理由退款,试水零压力。

合规提醒:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于存储和管理你本人或经授权主体的知识内容,妥善保管访问凭据,不得用于传播违法违规信息。

常见问题(FAQ)

Wiki.js 和用云笔记/在线文档有什么区别?
云笔记数据存在别人服务器、导出受限;Wiki.js 是你自己的服务,文档可接 Git 后端,每次保存自动提交,自带版本历史,备份就是一次 git push。适合想长期沉淀、不被平台绑架的知识管理。
雨云最低配能跑 Wiki.js 吗?
能起,但 Wiki.js 要配 PostgreSQL,1 核 2G 偏紧,需要把 PG 的 shared_buffers 调小、连接数降低才稳。想顺手建议 2 核 2G。入门版折后约 9 元/月,优惠码 admin01 五折后很便宜。
Wiki.js 启动后连不上数据库怎么办?
多半是 compose 里 Wiki.js 的 DB_PASS 和 db 容器的 POSTGRES_PASSWORD 不一致,或 PostgreSQL 还没完全就绪。确认两边密码相同,等 db 容器日志显示 ready 再查 docker logs wiki;端口、网络都在同一 compose 内网,无需额外放行。
雨云优惠码 admin01 怎么用?
下单页优惠码/推广码输入框填 admin01 即享五折,以结算页显示为准。建议先开最低配月付验证线路与售后,再考虑年付;雨云支持 7 天无理由退款。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

用雨云 KVM 云服务器 Docker 自建 Outline 团队文档协作(Outline+PostgreSQL+Redis+对象存储),配 Nginx 反代 HTTPS、空间权限与备份。含环境变量坑与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 BookStack 团队文档/wiki,BookStack+MySQL 部署、Nginx 反代 HTTPS、书架层级与权限。含默认密码坑、413 上传限制与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 部署 Code Server,浏览器里直接写代码、跑终端、调端口,环境只在服务器维护一份。含 HTTPS 反代、强密码安全与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Plausible 隐私统计,Postgres+事件处理+HTTPS 反代,跟踪代码嵌入网站。含 SECRET_KEY_BASE 坑与优惠码 admin01 五折。