如何部署wiki.js

Wiki.js 是一款基于 Node.js 的现代化开源 Wiki 系统,它界面美观、功能强大,支持 Markdown 编辑和权限管理。下面为你详细介绍几种主流的部署方式。

🧠 快速掌握核心部署流程

部署 Wiki.js 主要有两种路径,其核心流程和决策点可以通过下图一目了然:

上图展示了两种部署路径的关键步骤。对于大多数用户,尤其是希望快速上手的初学者,推荐使用 Docker 部署,这是最简洁高效的方式。如果你需要更精细的控制或学习原理,传统部署方式则更为合适。

下面是每种部署方式的详细说明。

🐳 使用 Docker 部署(推荐)

这种方法通过容器技术将 Wiki.js 及其依赖(如数据库)打包在一起,极大地简化了安装和配置过程。

  1. 安装 Docker

    • 首先,确保你的服务器上已经安装了 Docker 和 Docker Compose。

    • 对于境内服务器,建议使用国内镜像源以加速下载:

      复制代码
      curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  2. 创建 Docker Compose 文件

    • 创建一个专属目录(例如 /opt/docker/wikijs),并在该目录下创建名为 docker-compose.yml的文件。

    • 文件内容如下所示,它一次性定义了 Wiki.js 和其依赖的 PostgreSQL 数据库服务:

      version: "3"
      services:
      db:
      image: postgres:11-alpine
      environment:
      POSTGRES_DB: wiki
      POSTGRES_USER: wikiuser
      POSTGRES_PASSWORD: your_secure_password_here
      volumes:
      - postgres_data:/var/lib/postgresql/data
      restart: unless-stopped

      复制代码
      wiki:
        image: ghcr.io/requarks/wiki:2
        depends_on:
          - db
        environment:
          DB_TYPE: postgres
          DB_HOST: db
          DB_PORT: 5432
          DB_USER: wikiuser
          DB_PASS: your_secure_password_here
          DB_NAME: wiki
        restart: unless-stopped
        ports:
          - "3000:3000" # 将左边的 3000 改为你希望的主机端口

      volumes:
      postgres_data:

    • 请务必将 your_secure_password_here修改为强密码。

  3. 启动服务

    • docker-compose.yml文件所在目录下,执行命令即可后台启动所有服务:

      复制代码
      docker compose up -d

⚙️ 传统方式部署

如果你倾向于不适用 Docker,或者希望更深入地了解各个组件的配置,可以选择此方式。

  1. 安装 Node.js

    • Wiki.js 需要 Node.js 16.0.0 或更高版本。

    • 你可以从官网下载二进制文件并解压到指定目录,然后创建软链接到 /usr/local/bin/以便在终端中直接使用 nodenpm命令。

  2. 安装并配置数据库

    • Wiki.js 支持 PostgreSQL、MySQL、MariaDB 和 SQLite,推荐使用 PostgreSQL

    • 以 PostgreSQL 为例,安装后需要启动服务,并为 Wiki.js 创建专用的数据库和用户,并授予相应权限。

  3. 下载并配置 Wiki.js

    • 从 GitHub 发布页下载最新的 wiki-js.tar.gz压缩包。

    • 解压后,将配置文件样本重命名并编辑 config.yml,主要配置数据库连接信息和访问端口:

      复制代码
      port: 3000
      db:
        type: postgres
        host: localhost
        port: 5432
        user: wikiuser
        pass: your_secure_password_here
        db: wiki
  4. 启动 Wiki.js

    • 在 Wiki.js 目录下,直接运行启动命令:

      复制代码
      node server
    • 为了更稳定地运行,建议将其配置为系统服务(如 systemd service),以便在服务器重启后能自动运行。

🚀 完成安装与基本设置

无论通过哪种方式部署,当服务成功启动后,都需要进行以下操作:

  1. 访问管理界面 :打开浏览器,访问 http://你的服务器IP:3000(如果你在 Docker 配置中修改了端口,请使用修改后的端口)。

  2. 初始化设置:首次访问会进入安装向导,你需要创建管理员账户并设置站点信息。

  3. 配置反向代理(可选但推荐) :如果你希望通过域名(如 wiki.yourcompany.com)访问 Wiki.js,并且启用 HTTPS 安全连接,你需要设置反向代理。可以使用 Nginx Proxy Manager (NPM) 或直接配置 Nginx。

💎 总结与选择建议

特性 Docker 部署 传统方式部署
简易度 ,一条命令完成 ,需手动配置依赖
隔离性 ,容器隔离 ,依赖系统环境
管理难度 ,统一通过 Docker 管理 ,需分别管理服务
学习价值 了解容器化概念 深入理解服务配置

总的来说,对于大多数场景,Docker 部署是毫无疑问的首选,它能让你快速且无依赖冲突地搭建起一个功能完整的 Wiki.js 站点。如果你在部署过程中遇到具体问题,例如反向代理的配置细节,可以提出来,我会提供更详细的指导。

相关推荐
kyriewen1 分钟前
我受够了复制报错去问 AI,花一下午给控制台做了个调试助手
前端·javascript·ai编程
90后小陈老师31 分钟前
PHP 配置默认值失效排查实录:isset 兜底遇上表单空串回填,首页文案是怎么集体消失的
开发语言·php
JJJennie7771 小时前
Gemini 3.7 Flash 上线,Google 想让 AI 多干活
开发语言·javascript·ecmascript
wuyk5552 小时前
Python 第三章:列表 List
服务器·开发语言·python
Evand J3 小时前
【MATLAB例程,车联网7】CACC网联车辆协同控制:ACC对比、V2X时延丢包与队列稳定性,附例程下载链接
开发语言·matlab·车联网
MgArcher3 小时前
抖音a_bogus参数逆向实战:JSVMP环境模拟与Hook技术(2025最新)
javascript·爬虫·python
要努力点3 小时前
Python入门第六课
开发语言·python
萧瑟余晖4 小时前
Java深入解析篇三十三之消息队列
java·开发语言
IT爱学堂4 小时前
尚硅谷Java+AI大模型应用开发革新版本 2025年3月
java·开发语言·人工智能
C++ 老炮儿的技术栈4 小时前
Qt5.9.1 Windows 完整开发环境搭建流程
开发语言·c++·windows·qt·编辑器·代码化