如何部署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 站点。如果你在部署过程中遇到具体问题,例如反向代理的配置细节,可以提出来,我会提供更详细的指导。

相关推荐
东东5162 小时前
基于ssm的网上房屋中介管理系统vue
前端·javascript·vue.js
harrain3 小时前
什么!vue3.4开始,v-model不能用在prop上
前端·javascript·vue.js
阿蒙Amon8 小时前
TypeScript学习-第7章:泛型(Generic)
javascript·学习·typescript
睡美人的小仙女1278 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
fanruitian8 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
rayufo8 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk9 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
摘星编程9 小时前
React Native + OpenHarmony:Timeline垂直时间轴
javascript·react native·react.js
缺点内向9 小时前
C#编程实战:如何为Word文档添加背景色或背景图片
开发语言·c#·自动化·word·.net
一起养小猫9 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos