想搭私有 Wiki 和知识库?Tiki Wiki Docker Compose 部署实测

本文基于 tikiwiki/tikiwiki:27.5 与 library/mariadb:latest 镜像,Ubuntu 24.04 服务器实测(服务器 IP192.168.1.18,访问端口8080

Wiki、知识库、工单、论坛、博客、Tracker 低代码……各买一套 SaaS,数据分散、费用叠加?Tiki Wiki CMS Groupware是开源的一体化协作平台——内置功能极多,号称「功能最全的开源 Web 应用」,适合在自有服务器上私有化部署Wiki 与团队知识库。

Tiki不能单容器跑生产环境,必须配套MariaDB。本文带你用Docker Compose双容器一键上线:轩辕镜像加速拉取、编写docker-compose.yml、读懂启动日志,再跟做Web 安装向导 9 步(含 Security Precaution 数据库凭据踩坑),最后登录后台、应用公司内网 Profile——全程 Ubuntu 24.04 实测,附18 张截图与完整命令。

国内用户从 Docker Hub 拉取可能较慢,本文使用 轩辕镜像 加速域docker.xuanyuan.run。官方镜像说明见 Docker Hub tikiwiki/tikiwiki,项目官网 tiki.org,源码 GitLab tikiwiki/tiki。


一、Tiki Wiki 是什么?

Tiki Wiki CMS Groupware(常简称 Tiki)是一款开源、自托管的一体化 Web 应用,LGPL 许可。官方称其是「内置功能最多的 Free/Libre/Open Source Web 应用」。

能力说明
Wiki协作编辑、版本历史、权限控制
Tracker内置低代码 / 无代码数据库应用构建器
论坛 / 博客 / 日历团队沟通与内容发布
文件库 / 知识库文档与附件集中管理
CRM / 工单 / 会员轻量业务集成场景

典型使用场景:团队私有 Wiki 与知识库;小公司内网门户 + 协作;替代部分 Confluence + Jira + 论坛的多套 SaaS 组合。

部署要点:Tiki不能单容器跑生产,须配套MariaDB(官方 Docker 示例使用mariadb)。本文采用Docker Compose 双容器+Web 安装向导(基础方案;多副本 HAProxy 扩展模式不在本文范围)。

架构示意:

浏览器 ──HTTP:8080──▶ Tiki 容器 (Apache + PHP 8.1) Tiki 容器 ──3306 内网──▶ MariaDB 容器 Tiki ──命名卷──▶ files / storage / sessions 等持久化

二、环境要求

项目建议
操作系统Linux(本文 Ubuntu 24.04)
Docker已安装 Docker 与 Docker Compose V2
内存≥ 2 GB(推荐 4 GB,Tiki + MariaDB 双容器)
CPU双核即可
磁盘≥ 5 GB(Tiki 镜像约 586 MB + MariaDB + 数据库与上传文件)
端口8080(映射容器 80;宝塔 / Nginx 占 80 时勿直接绑 80)
工作目录/www/wwwroot/tikiwiki(独立目录,勿与其他项目混用)

验证 Docker:

docker--versiondockercompose version

若尚未安装 Docker,可使用轩辕镜像一键脚本:

bash<(wget-qO- https://xuanyuan.cloud/docker.sh)

更多安装说明见 轩辕镜像使用手册。若docker compose不可用,见文末FAQ Q1

镜像版本对照

标签适用场景
tikiwiki/tikiwiki:27.5本文主镜像,Tiki 27.5 稳定版
tikiwiki/tikiwiki:latest最新版,生产建议固定 digest
library/mariadb:latest官方示例配套数据库

三、拉取镜像

先拉 Tiki 主镜像,再拉 MariaDB:

dockerpull docker.xuanyuan.run/tikiwiki/tikiwiki:27.5dockerpull docker.xuanyuan.run/library/mariadb:latest

成功时终端显示Status: Downloaded newer image for ...。本文实测拉取输出摘要:

Status: Downloaded newer image for docker.xuanyuan.run/tikiwiki/tikiwiki:27.5 Status: Downloaded newer image for docker.xuanyuan.run/library/mariadb:latest

可用docker images确认本地镜像(Tiki 27.5 内容大小约586 MB):

dockerimages
官方镜像轩辕镜像加速拉取说明
tikiwiki/tikiwiki:27.5docker.xuanyuan.run/tikiwiki/tikiwiki:27.5本文主镜像
library/mariadb:latestdocker.xuanyuan.run/library/mariadb:latest配套数据库

四、创建目录并编写 Compose

mkdir-p/www/wwwroot/tikiwikicd/www/wwwroot/tikiwiki

4.1 创建docker-compose.yml

vimdocker-compose.yml

完整内容(与 Ubuntu 24.04 实测一致,请将密码改为强密码):

name:tikiwikiservices:tiki:image:docker.xuanyuan.run/tikiwiki/tikiwiki:27.5restart:unless-stoppeddepends_on:db:condition:service_healthyports:-"8080:80"environment:TIKI_DB_HOST:dbTIKI_DB_USER:tikiTIKI_DB_PASS:YourStrongPass123TIKI_DB_NAME:tikiwikivolumes:-tiki_files:/var/www/html/files/-tiki_storage:/var/www/html/storage/-tiki_temp:/var/www/html/temp/-tiki_sessions:/var/www/sessions/db:image:docker.xuanyuan.run/library/mariadb:latestrestart:unless-stoppedenvironment:MYSQL_USER:tikiMYSQL_PASSWORD:YourStrongPass123MYSQL_DATABASE:tikiwikiMYSQL_ROOT_PASSWORD:YourRootPass123TERM:dumbvolumes:-db_data:/var/lib/mysqlhealthcheck:test:["CMD-SHELL","mariadb-admin ping -h 127.0.0.1 -u\"$$MYSQL_USER\" -p\"$$MYSQL_PASSWORD\" || exit 1"]start_period:30sinterval:5stimeout:5sretries:15volumes:tiki_files:tiki_storage:tiki_temp:tiki_sessions:db_data:

各参数说明:

参数说明
TIKI_DB_*MYSQL_*应用用户、密码、库名必须一致
8080:80宿主机 8080 → 容器 Apache 80;80 空闲可改80:80
depends_on+healthcheck等 MariaDB 就绪后再启动 Tiki
命名卷持久化上传文件、storage、session 与数据库

三角色密码对照(安装向导易混,务必分清):

角色用户名密码来源用途
应用数据库用户tikiMYSQL_PASSWORD/TIKI_DB_PASS安装向导填这个
数据库 rootrootMYSQL_ROOT_PASSWORD仅数据库维护,不要填进安装向导
Tiki 站点管理员admin安装完成后临时为admin,首次登录须改密不是Security Precaution 页要填的

五、启动与日志

dockercompose up-ddockercomposepsdockercompose logs-ftikicurl-s-o/dev/null-w"%{http_code}\n"http://127.0.0.1:8080

本文实测docker compose up -d输出摘要:

✔ Container tikiwiki-db-1 Healthy 17.1s ✔ Container tikiwiki-tiki-1 Started 17.3s

docker compose ps期望状态:

tikiwiki-db-1 ... Up ... (healthy) 3306/tcp tikiwiki-tiki-1 ... Up ... 0.0.0.0:8080->80/tcp

Tiki 日志中出现 Apache 启动成功即可(ServerName警告可忽略):

Apache/2.4.57 (Debian) PHP/8.1.27 configured -- resuming normal operations

curl返回302表示服务正常(自动跳转安装向导)。若返回000,见 FAQ Q2。


六、Web 安装向导(9 步跟做)

在浏览器打开(将 IP 换成你的服务器地址):

http://192.168.1.18:8080

会自动跳转到tiki-install.php。左侧为 9 步进度条,按顺序跟做即可。

6.1 第 0 步:Security Precaution(安全校验)

首次进入安装页,会先出现Security Precaution页,要求输入数据库用户名和密码以验证你是站点管理员。

图 1:Security Precaution 页——此处只填数据库凭据,不是站点管理员账号

字段正确填写常见误填
Database usernametikitikiwiki(这是库名)
Database passwordYourStrongPass123(=TIKI_DB_PASSYourRootPass123(这是 root 密码)

填好后点击Validate and Continue

踩坑提示:若提示用户名密码不对,在 compose 目录执行docker compose exec db mariadb -u tiki -p'YourStrongPass123' -e "SHOW DATABASES;"验证;若 Access denied,检查 compose 中两处密码是否一致,或docker compose down -v清卷重装(会清空数据库)。

6.2 第 1 步:Welcome(欢迎)

进入正式安装向导Tiki Installer 27.5,第一步为 Welcome。

图 2:Welcome 页,可选择安装语言

Select your language下拉框中选择Simplified Chinese(简体中文, cn)

图 3:语言选择为简体中文

点击Continue(继续)

6.3 第 2 步:License(许可协议)

阅读 LGPL 许可协议,点击Continue接受。

图 4:License 页,Tiki 基于 LGPL 许可发布

6.4 第 3 步:Review the System Requirements(系统要求)

Tiki 自动检测 PHP 内存等环境。本文实测Memory检测通过(PHPmemory_limit128 MB)。

图 5:系统要求检测通过;Mail 测试可选,不影响安装

点击Continue进入下一步。

6.5 第 4 步:Set the Database Connection(数据库连接)

因 Compose 中已配置TIKI_DB_*环境变量,Tiki 会自动写入db/local.php,此步通常显示Success

图 6:检测到已有数据库连接,库名 tikiwiki

点击蓝色Use Existing Connection(使用现有连接)即可。若需手动修改,点橙色Modify database connection,主机填db,用户tiki,库名tikiwiki

6.6 第 5 步:Install(安装数据库)

选择数据库引擎InnoDB(默认),点击黄色安装按钮。

图 7:确认 InnoDB 后点击「安装」

安装过程会创建数据表,进度条从 0% 逐步增加(约 945 条 SQL,需等待 1~3 分钟):

图 8:数据库表创建进行中,请耐心等待

6.7 第 6 步:Review the Installation(安装回顾)

出现绿色Installation complete表示数据库安装成功。安装程序提示:首次安装的管理员账号为admin,临时密码为admin

图 9:安装完成,临时管理员 admin / admin(首次登录须改密)

点击Continue

6.8 第 7 步:Configure the General Settings(一般设置)

配置站点基本信息。Server domain name不确定时留空(填错可能导致无法访问)。浏览器标题可改为My Tiki或你的站点名。

图 10:一般设置——域名不确定时留空

填写后点击Continue

6.9 第 8 步:Last Notes(最后说明)

阅读安全更新订阅、向导使用等提示,点击Continue

图 11:Last Notes,建议订阅安全更新通知

6.10 第 9 步:Enter Your Tiki(进入 Tiki)

显示Ready to run,安装完成。点击蓝色Enter Tiki and Lock Installer(Recommended)进入站点并锁定安装程序(推荐;橙色按钮不锁定安装程序,有安全风险)。

图 12:进入 Tiki 并锁定安装程序(推荐)


七、首次登录与改密

点击「Enter Tiki and Lock Installer」后,系统要求为admin设置新密码(安装时的临时密码admin不能长期使用)。

图 13:首次登录强制改密——填写新密码、重复密码与邮箱后点 Apply

改密成功后进入Tiki Setup引导页,显示Congratulations! You now have a working instance of Tiki 27.5

图 14:Tiki Setup 引导页,可立即使用或运行配置向导

安全提示:安装程序创建的临时账号为admin/admin,进入站点后必须在改密页(图 13)改为强密码。公网暴露前务必完成改密,并配置 HTTPS 反向代理。


八、功能实测:应用公司内网 Profile

Tiki 提供Configuration Profiles Wizard,可一键应用预设场景(协作社区、公司内网等),快速启用 Wiki、论坛、日历、Tracker 等模块。

8.1 选择 Featured Site Configurations

在 Tiki Setup 页点击Start the Wizardry,或从Featured Site Configurations选择模板。本文实测选择Company Intranet(公司内网)

图 15:Featured Site Configurations,选择公司内网等预设场景

8.2 管理后台 Profiles 页

也可从管理后台进入Profiles页面浏览并应用配置模板:

图 16:管理后台 Profiles 页;顶部可能提示发件邮箱未设置、版本升级建议

8.3 应用 Company Intranet Profile

选择Company_Intranet_21Profile,点击Apply Now,在确认框点OK

图 17:确认应用 Company_Intranet_21 Profile

8.4 内网首页

Profile 应用成功后,首页标题变为Our Intranet,顶部出现成功提示,左侧System Menu已启用 Wiki、博客、论坛、Tracker、文件库等模块:

图 18:公司内网 Profile 应用成功,Wiki / 论坛 / Tracker 等模块已就绪


九、生产环境建议

9.1 固定镜像 digest

生产环境建议用 digest 固定构建,避免标签漂移:

dockerpull docker.xuanyuan.run/tikiwiki/tikiwiki:27.5dockerinspect docker.xuanyuan.run/tikiwiki/tikiwiki:27.5--format='{{index .RepoDigests 0}}'

本文拉取 digest 示例:sha256:096cc953fb1cb3c5de4cb3523470ba0e128ba78b39825c45d722c6d82a0ca165

9.2 Nginx 反向代理(示例)

server { listen 80; server_name wiki.example.com; location / { proxy_pass http://127.0.0.1:8080; 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; } }

9.3 备份

cd/www/wwwroot/tikiwikidockercomposeexecdb mariadb-dump-utiki -p'YourStrongPass123'tikiwiki>tikiwiki-backup.sql

数据库在db_data卷,上传文件在tiki_files等卷,升级前建议一并备份。


十、常见问题 FAQ

Q1:docker compose up -dunknown shorthand flag: 'd' in -d

说明Compose V2 未安装。Ubuntu 官方docker.io包请安装docker-compose-v2

sudoaptupdatesudoaptinstall-ydocker-compose-v2dockercompose version

Q2:本机curl 127.0.0.1:8080返回000,浏览器连接拒绝?

8080 无进程监听。执行docker compose ps -a:若tikiCreatedExited,执行docker compose up -d tiki并查看docker compose logs tiki。常见原因:db未 healthy 导致 Tiki 未启动。

Q3:Security Precaution 页数据库用户名密码不对?

tiki+MYSQL_PASSWORD(应用用户密码)不要tikiwiki(库名)或YourRootPass123(root 密码)。验证:

dockercomposeexecdb mariadb-utiki -p'YourStrongPass123'-e"SHOW DATABASES;"

Q4:安装向导连不上数据库?

检查TIKI_DB_HOST=db、应用用户密码与 MariaDB 环境变量一致、db容器为(healthy)

Q5:8080 被占用怎么办?

将 compose 中"8080:80"改为"8090:80",浏览器访问http://YOUR_SERVER_IP:8090

Q6:管理员账号密码是什么?

Web 安装完成后,安装程序提示临时账号admin/admin。进入站点后必须在改密页(图 13)设置新密码;这不是长期可用的默认密码。

Q7:是否需要设TIKI_DB_VERSION

使用固定标签27.5时一般不必手动设;仅latest或 CLI 装库场景才需关注。

Q8:能否用 MySQL 替代 MariaDB?

官方 Docker 示例为 MariaDB,生产建议跟随官方;MySQL 8 兼容性未在本文实测范围。

Q9:日志里Could not reliably determine the server's fully qualified domain name

Apache 的ServerName提示,不影响使用,可忽略。

Q10:安装完成后还提示版本不再支持?

Tiki 27.5 安装后可能提示建议升级到 27.6 或更高版本,属正常提醒;生产环境可评估升级计划,本文以 27.5 标签实测为准。


总结

本文完成了 Tiki Wiki27.5 双容器 Compose 私有化部署

  • 使用轩辕镜像加速拉取 tikiwiki/tikiwiki:27.5 与 library/mariadb:latest
  • Docker Compose 双容器,工作目录/www/wwwroot/tikiwiki,8080 端口访问
  • MariaDB healthcheck + 命名卷持久化
  • Web 安装向导 9 步跟做,含Security Precaution 数据库凭据踩坑
  • 临时管理员admin/admin,首次登录强制改密
  • 应用Company Intranet Profile,Wiki / 论坛 / Tracker 等模块就绪(18 张配图)

延伸阅读:

  • Tiki Wiki 轩辕镜像页
  • Docker Hub tikiwiki/tikiwiki
  • Tiki 项目官网
  • Tiki 源码 GitLab
  • 轩辕镜像使用手册