Administrator
发布于 2025-08-05 / 3 阅读
0
0

简洁美观的个人开源知识库wiki.js安装布署

Wiki.js 简介

Wiki.js 是一个现代、高性能的开源 Wiki 软件,基于 Node.js 构建,支持 Markdown、WYSIWYG 编辑,并提供实时协作功能。通过 Docker Compose 部署可以简化安装和管理过程,使其更易于在各种环境中运行。

先决条件

  1. Linux 服务器: 建议使用 Debian, Ubuntu, RHEL 等 Linux 发行版。
  2. Root 或 sudo 访问权限: 需要对服务器进行配置。
  3. Docker 和 Docker Compose: 确保已在服务器上安装。
    • 安装 Docker Compose: 通常可以通过包管理器安装,例如在 Ubuntu 上:

      sudo apt update
      sudo apt install docker-compose
      

      如果您的系统不直接提供 docker-compose,您可能需要根据 Docker 官方文档安装(通常是 sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin 或下载二进制文件)。

  4. 基本 Linux 命令知识: 熟悉命令行操作。
  5. 域名 (可选但推荐): 用于通过 HTTPS 访问 Wiki.js,并配合 Nginx 等反向代理使用。

详细部署步骤

步骤 1: 创建项目目录

首先,为 Wiki.js 创建一个专门的目录,并进入该目录。

mkdir ~/wikijs
cd ~/wikijs

步骤 2: 创建 docker-compose.yml 文件

在该目录中创建 docker-compose.yml 文件,并使用文本编辑器(如 nanovim)打开它。

nano docker-compose.yml

将以下内容粘贴到 docker-compose.yml 文件中。此示例使用 PostgreSQL 作为数据库:

version: '3'

services:
  db:
    image: postgres:13-alpine # 推荐使用 PostgreSQL 13 或更高版本 [6]
    environment:
      POSTGRES_DB: wiki
      POSTGRES_USER: wikijs
      POSTGRES_PASSWORD: your_secure_db_password # 请替换为您自己的安全密码 [1]
    volumes:
      - db-data:/var/lib/postgresql/data
    restart: unless-stopped

  wiki:
    image: ghcr.io/requarks/wiki:3 # 推荐使用官方镜像 [6]
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: your_secure_db_password # 与上面数据库的密码一致
      DB_NAME: wiki
      ADMIN_EMAIL: your_admin_email@example.com # 替换为您的管理员邮箱 [6]
      ADMIN_PASS: your_admin_password # 替换为您自己的安全密码 [6]
    ports:
      - "80:3000" # 将宿主机的 80 端口映射到容器的 3000 端口 [1]
    volumes:
      - wiki-data:/data # 挂载数据卷,用于持久化 Wiki.js 的配置和内容 [6]
    restart: unless-stopped

volumes:
  db-data:
  wiki-data:

配置说明:

  • db 服务:
    • image: 使用 PostgreSQL 镜像。推荐使用 13-alpine 或更高版本。
    • environment: 设置数据库名、用户名和密码。请务必将 your_secure_db_password 替换为一个强密码。
    • volumes: db-data:/var/lib/postgresql/data 用于持久化 PostgreSQL 的数据,防止数据丢失。
  • wiki 服务:
    • image: 使用 Wiki.js 的官方 Docker 镜像 ghcr.io/requarks/wiki:3。您也可以指定特定版本,但建议使用最新的稳定主版本(例如 :3)。避免使用 :latest 标签,以防未来版本更新导致兼容性问题。
    • depends_on: 确保数据库服务 (db) 在 Wiki.js 服务启动之前启动。
    • environment:
      • DB_TYPE, DB_HOST, DB_PORT, DB_USER, DB_PASS, DB_NAME: 配置 Wiki.js 连接到 PostgreSQL 数据库。DB_HOST 设置为 db 是因为在 Docker Compose 中,服务名可以直接用作主机名。 务必确保 DB_PASS 与数据库服务中设置的密码一致。
      • ADMIN_EMAIL, ADMIN_PASS: 这些是用于创建 Wiki.js 的初始管理员账户。请务必替换为您自己的邮箱和强密码。
    • ports: "80:3000" 表示将您服务器的 80 端口映射到 Wiki.js 容器内的 3000 端口。这意味着您可以通过访问服务器的 IP 地址或域名(在 80 端口)来访问 Wiki.js。您也可以根据需要修改宿主机端口(例如 "8080:3000")。
    • volumes: wiki-data:/data 用于持久化 Wiki.js 的数据,包括配置文件、上传的文件等。
    • restart: unless-stopped: 确保在 Docker 服务重启时,这些容器也会自动启动。

步骤 3: 启动 Wiki.js 容器

~/wikijs 目录下,运行以下命令来启动 Wiki.js 和 PostgreSQL 服务:

docker compose up -d
  • up 命令会创建并启动服务。
  • -d (detached) 参数表示在后台运行容器。

您可以检查容器是否正在运行:

docker compose ps

步骤 4: 访问 Wiki.js

启动完成后,打开您的 Web 浏览器,访问您的服务器 IP 地址或配置的域名。如果使用默认的端口映射 (80:3000),您应该访问:

http://your_server_ip_address

或者

http://your_domain.com

您将看到 Wiki.js 的设置向导。按照屏幕上的提示完成初始配置,包括设置管理员账户(如果您在 docker-compose.yml 中没有预设 ADMIN_EMAILADMIN_PASS,或者想在第一次运行时更改)。

进阶配置 (可选)

  • Nginx 反向代理和 SSL: 为了安全地访问 Wiki.js(特别是通过 HTTPS),强烈建议配置 Nginx 作为反向代理,并启用 SSL/TLS。这允许 Wiki.js 在后台监听一个非特权端口,而 Nginx 则处理 SSL 证书和域名解析。
  • 更改数据库: Wiki.js 3.0 及更高版本推荐使用 PostgreSQL。虽然其他数据库可能已被支持,但 PostgreSQL 是官方的首选。
  • 调整资源限制: 根据您的服务器资源和预期负载,您可能需要在 docker-compose.yml 中为服务设置 CPU 和内存限制。
  • 备份: 定期备份 db-datawiki-data 卷中的数据至关重要。

通过以上步骤,您应该能够成功地使用 Docker Compose 部署一个运行中的 Wiki.js 实例。


评论