Wiki.js 是一款现代、轻量级的开源Wiki软件,基于Node.js构建,支持Markdown、可视化编辑和多人协作。它非常适合用作博客文档、知识库或团队手册。本教程将基于官方文档,详细介绍两种安装方式:本地开发环境(使用Docker Desktop)和服务器环境(在Ubuntu上)。无论你是初学者还是资深用户,都能跟着步骤顺利完成安装。
一、系统要求
在开始安装前,请确保你的系统满足以下最低要求。这些信息基于官方系统要求文档:
CPU:至少1个核心,但推荐2核心或以上以提升性能(如页面渲染等任务)。
内存(RAM):Linux系统至少1GB;Windows或macOS系统通常需要更多内存。Wiki.js本身占用约70MB,但处理任务时可能有短期峰值。
存储空间:至少1GB专用空间。如果上传图片或文件,需根据内容规划存储。
数据库:推荐使用PostgreSQL(9.5或更高版本),以获得最佳性能和兼容性。其他支持数据库包括MySQL、MariaDB等,但注意Wiki.js 3.x将仅支持PostgreSQL。
网络访问:Wiki.js需要互联网连接以下载更新和资源(如语言包)。离线环境可通过侧载文件手动安装。
域名:需要一个专用子域名或域名(如
wiki.example.com),不能映射到子路径。浏览器:支持最新版本的Chrome、Firefox、Safari或Edge。IE11仅兼容阅读功能。
提示:如果你使用Docker安装,可跳过Node.js安装要求,因为Docker镜像已包含运行环境。
二、方式一:本地安装(使用Docker Desktop)
适用于macOS或Windows本地测试和开发。本部分基于Docker Desktop安装文档。
步骤1:安装Docker Desktop
访问Docker Desktop官网,下载并安装适用于你操作系统的Docker Desktop。安装后启动Docker,确保服务运行正常(系统托盘会显示Docker图标)。
步骤2:创建项目文件夹和配置文件
在本地创建一个新文件夹,例如
wiki。在该文件夹内,新建一个名为
docker-compose.yaml的文件,并复制以下内容(此配置定义了PostgreSQL数据库和Wiki.js容器):
version: "3"
services:
db:
image: postgres:17-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: wikijsrocks
POSTGRES_USER: wikijs
logging:
driver: "none"
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
wiki:
image: ghcr.io/requarks/wiki:2
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: wikijsrocks
DB_NAME: wiki
restart: unless-stopped
ports:
- "80:3000"
volumes:
db-data:步骤3:启动Wiki.js
打开终端(macOS)或命令提示符(Windows)。在Windows上,可通过在文件夹地址栏输入
cmd并回车,快速打开命令提示符。使用
cd命令导航到wiki文件夹,然后运行以下命令启动容器:
docker compose up -d此命令会在后台拉取镜像并启动服务。等待几分钟直至容器初始化完成。
步骤4:完成安装
打开浏览器,访问
http://localhost。首次访问会显示Wiki.js设置向导。输入管理员邮箱和密码,并设置Wiki的URL(本地测试可直接用
http://localhost)。点击“Install”完成安装。完成后会自动跳转到登录页面,使用刚设置的账号登录即可。
优点:本地安装简单快捷,适合开发和测试。如果后续想迁移到服务器,可导出数据备份。
三、方式二:服务器安装(在Ubuntu上)
适用于生产环境,如云服务器(DigitalOcean、AWS等)。本部分基于Ubuntu安装文档,以Ubuntu 20.04/22.04 LTS为例。
步骤1:更新系统并安装Docker
通过SSH连接到你的Ubuntu服务器。
运行以下命令更新系统包:
sudo apt -qqy update
sudo DEBIAN_FRONTEND=noninteractive apt-get -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' dist-upgrade安装Docker及其依赖:
sudo apt -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt -qqy update
sudo apt -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' install docker-ce docker-ce-cli containerd.io docker-compose-plugin步骤2:设置Wiki.js容器和数据库
创建安装目录并生成数据库密钥:
sudo mkdir -p /etc/wiki
sudo openssl rand -base64 32 > /etc/wiki/.db-secret创建Docker网络和数据卷:
sudo docker network create wikinet
sudo docker volume create pgdata创建并启动容器(包括PostgreSQL、Wiki.js和更新伴侣):
sudo docker create --name=db -e POSTGRES_DB=wiki -e POSTGRES_USER=wiki -e POSTGRES_PASSWORD_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -v pgdata:/var/lib/postgresql/data --restart=unless-stopped -h db --network=wikinet postgres:17
sudo docker create --name=wiki -e DB_TYPE=postgres -e DB_HOST=db -e DB_PORT=5432 -e DB_PASS_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -e DB_USER=wiki -e DB_NAME=wiki -e UPGRADE_COMPANION=1 --restart=unless-stopped -h wiki --network=wikinet -p 80:3000 -p 443:3443 ghcr.io/requarks/wiki:2
sudo docker create --name=wiki-update-companion -v /var/run/docker.sock:/var/run/docker.sock:ro --restart=unless-stopped -h wiki-update-companion --network=wikinet ghcr.io/requarks/wiki-update-companion:latest配置防火墙允许SSH、HTTP和HTTPS:
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw --force enable启动所有容器:
sudo docker start db
sudo docker start wiki
sudo docker start wiki-update-companion步骤3:初始设置和访问
等待几分钟让容器初始化(首次启动可能较慢)。然后在浏览器中输入服务器的公网IP地址(如
http://你的服务器IP)。如果页面无法加载,等待5分钟后重试。出现设置向导后,输入管理员账号信息并设置Wiki URL(推荐使用域名,如
http://wiki.example.com)。完成安装后,即可登录使用。
可选步骤:启用HTTPS(Let's Encrypt)
如果你有域名,建议启用HTTPS以提升安全性:
在域名注册商处添加A记录,将域名(如
wiki.example.com)指向服务器IP。通过SSH连接到服务器,停止并移除现有Wiki容器(数据不会丢失):
sudo docker stop wiki
sudo docker rm wiki重新创建容器(替换
wiki.example.com和admin@example.com为你的域名和邮箱):
sudo docker create --name=wiki -e LETSENCRYPT_DOMAIN=wiki.example.com -e LETSENCRYPT_EMAIL=admin@example.com -e SSL_ACTIVE=1 -e DB_TYPE=postgres -e DB_HOST=db -e DB_PORT=5432 -e DB_PASS_FILE=/etc/wiki/.db-secret -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro -e DB_USER=wiki -e DB_NAME=wiki -e UPGRADE_COMPANION=1 --restart=unless-stopped -h wiki --network=wikinet -p 80:3000 -p 443:3443 ghcr.io/requarks/wiki:2启动容器并查看日志,等待HT证书签发完成:
sudo docker start wiki
sudo docker logs wiki # 查看日志,直到出现"HTTPS Server: [RUNNING]"访问
https://你的域名即可使用HTTPS。还可在Wiki.js管理后台(Administration Area > SSL)启用HTTP到HTTPS的重定向。
四、后续管理
升级:Wiki.js内置更新伴侣(Update Companion)。有新版本时,在管理后台的“System Info”点击“Perform Upgrade”即可自动升级。
备份:定期备份数据库卷(如Ubuntu中的
pgdata)和Wiki.js数据。故障排除:如果遇到问题,可查看容器日志(如
docker logs wiki)或参考官方文档。
总结
本教程覆盖了Wiki.js的两种主流安装方式,读者可根据需求选择。本地安装适合快速上手,服务器安装则用于生产环境。Wiki.js功能强大且易于维护,是构建知识库的理想选择。如果你有疑问,欢迎在评论区留言!
本教程内容均基于官方文档,确保准确性。如有特定环境问题,建议查阅Wiki.js官方文档获取最新信息。希望这篇教程能帮助你顺利部署Wiki.js!