Wiki.js 是一款基于 Node.js 开发的现代化、开源、轻量级的 Wiki 引擎与知识管理平台,主打易用、美观、强大且灵活,非常适合搭建团队知识库、内部文档、个人笔记或公共 Wiki。
1. 系统要求(推荐配置)
- Node.js:18.x 或更高版本(手动安装时需要)。
- 数据库:官方推荐 PostgreSQL(性能最好),也支持 MySQL/MariaDB、SQLite、MSSQL。
- 内存:至少 1GB(推荐 2GB+)。
- 操作系统:Linux(Ubuntu/Debian/CentOS 等)最常见,Windows/Mac 也支持(用 Docker Desktop)。
2. 最推荐:使用 Docker Compose 一键部署(官方推荐)
这是最简单的方法,几分钟就能跑起来。
2.1 配置宿主主机上的PostgreSQL
使用 Docker Compose 部署 Wiki.js 时,如果想连接主机上已经安装好的外部 PostgreSQL(而不是在 compose 中再启动一个 db 服务),修改方式非常简单。
(1) 创建数据库和用户(如果还没创建)
-- 登录你的 PostgreSQL(用 psql 或 pgAdmin) CREATE USER wikijs WITH PASSWORD '你的强密码'; CREATE DATABASE wiki OWNER wikijs; GRANT ALL PRIVILEGES ON DATABASE wiki TO wikijs; \c wiki CREATE EXTENSION IF NOT EXISTS pg_trgm; -- 推荐启用,用于全文搜索
(2) 允许 Docker 容器连接(最容易出错的地方)
步骤1:编辑 PostgreSQL 配置文件 postgresql.conf:
listen_addresses = '*'
步骤2:编辑 pg_hba.conf,在文件末尾添加(根据你的网络情况):
# 允许 Docker 容器通过主机 IP 或 host.docker.internal 连接 host all all 172.17.0.0/16 md5 # Docker 默认桥接网络 host all all 172.18.0.0/16 md5 # 如果用了自定义网络 host all all 10.0.0.0/8 md5 # 根据你的主机网络 host all all ::1/128 md5 host all all 127.0.0.1/32 md5
步骤3:重启 PostgreSQL 服务:
systemctl restart postgresql
2.2 安装 Docker 和 Docker Compose(如果没有):
【Docker】CentOS 离线安装最新版的 docker 和 docker-compose
2.3 创建目录并编写 docker-compose.yml
# 创建工作目录 mkdir -pv /data/server/wikijs && cd /data/server/wikijs # 创建空的配置文件 touch /data/server/wikijs/config.yml # 创建compose配置文件 vim docker-compose.yml
粘贴以下内容(强烈建议修改数据库密码):
version: "3"
services:
wiki:
image: ghcr.io/requarks/wiki:latest # 或 requarks/wiki:latest
container_name: wikijs
restart: unless-stopped
ports:
- "4000:3000" # 主机端口:容器端口,可改成 8080:3000 等
environment:
DB_TYPE: postgres
#DB_HOST: host.docker.internal # 【方式1】关键:指向主机上的 PostgreSQL
DB_HOST: 172.17.0.1 # 【方式2】如果 host.docker.internal 不行,可尝试这个(Linux 常见)
# DB_HOST: 你的主机实际IP(如 192.168.1.100) # 【方式3】最后通过实践,【方式1】不行,【方式2,3】可以
DB_PORT: 65432
DB_USER: user_wikijs
DB_PASS: RMJR3F63fXXsCPiY
DB_NAME: wikijs
# 可选:挂载 config.yml(高级用户推荐,用于更复杂配置)
volumes:
- ./config.yml:/wiki/config.yml
2.4 启动服务
docker-compose up -d
2.5 云主机开放端口4000
在阿里云、宝塔面板 等后台开放端口4000
2.6 初始化 Wiki.js
- 浏览器访问 http://你的服务器IP:4000
- 第一次会进入安装向导:输入管理员邮箱、密码、站点 URL(例如 http://你的IP:4000),点击 Install。
- 安装完成后即可登录使用。

2.7 常用操作
- 启动:
docker-compose up -d - 查看日志:
docker-compose logs -f wiki - 停止:
docker-compose down - 重启:
docker compose restart - 更新:拉取新镜像后
docker-compose up -d --pull always
3. 使用 Nginx 反向代理(推荐生产环境)
为了使用域名、HTTPS 和 80/443 端口,建议加 Nginx:
- 安装 Nginx。
- 配置
/etc/nginx/sites-available/wikijs(示例):server { listen 80; server_name wiki.你的域名.com; location / { proxy_pass http://127.0.0.1:4000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } - 申请 SSL(用 certbot 或宝塔面板),改成 HTTPS。
4. 常见问题与提示
- 中文支持:安装后在管理后台(/admin)可以设置语言为中文,支持中文全文搜索(可额外配置 Elasticsearch,但默认 PostgreSQL 已够用)。
- 端口冲突:改
docker-compose.yml中的端口映射。 - 数据持久化:数据库 volume 很重要,别删错了。
- 备份:定期备份数据库 volume 和 Wiki 配置。
- 升级:Docker 方式直接 pull 新镜像重启即可;手动方式参考官方升级指南。
官方文档(最权威):https://docs.requarks.io/install
GitHub:https://github.com/requarks/wiki
5. 常见问题排查
(1) 连接失败(Connection refused / EHOSTUNREACH):
- 确认
DB_HOST正确(Linux 推荐用主机实际 IP 或172.17.0.1;Windows/Mac 用host.docker.internal)。 - 检查 PostgreSQL 是否监听所有地址(
listen_addresses = '*')。 - 查看日志:
docker compose logs -f wiki
(2) host.docker.internal 不生效:
Linux 上通常无效,改用主机真实 IP(如 192.168.x.x)或在 docker-compose 中加入 extra_hosts:
extra_hosts: - "host.docker.internal:host-gateway"
(3) 权限错误:
确保数据库用户有足够的权限(ALL PRIVILEGES),且数据库 owner 是该用户。
(4) 想使用 config.yml 而不是环境变量:
把 config.sample.yml 复制为 config.yml,修改 db 部分,然后挂载到容器:
volumes: - ./config.yml:/wiki/config.yml
此时可以移除 environment 中的 DB_ 开头的变量。