本文基于 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.5 | docker.xuanyuan.run/tikiwiki/tikiwiki:27.5 | 本文主镜像 |
library/mariadb:latest | docker.xuanyuan.run/library/mariadb:latest | 配套数据库 |
四、创建目录并编写 Compose
mkdir-p/www/wwwroot/tikiwikicd/www/wwwroot/tikiwiki4.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 与数据库 |
三角色密码对照(安装向导易混,务必分清):
| 角色 | 用户名 | 密码来源 | 用途 |
|---|---|---|---|
| 应用数据库用户 | tiki | MYSQL_PASSWORD/TIKI_DB_PASS | 安装向导填这个 |
| 数据库 root | root | MYSQL_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.3sdocker compose ps期望状态:
tikiwiki-db-1 ... Up ... (healthy) 3306/tcp tikiwiki-tiki-1 ... Up ... 0.0.0.0:8080->80/tcpTiki 日志中出现 Apache 启动成功即可(ServerName警告可忽略):
Apache/2.4.57 (Debian) PHP/8.1.27 configured -- resuming normal operationscurl返回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 username | tiki | ❌tikiwiki(这是库名) |
| Database password | YourStrongPass123(=TIKI_DB_PASS) | ❌YourRootPass123(这是 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 -d报unknown shorthand flag: 'd' in -d?
说明Compose V2 未安装。Ubuntu 官方docker.io包请安装docker-compose-v2:
sudoaptupdatesudoaptinstall-ydocker-compose-v2dockercompose versionQ2:本机curl 127.0.0.1:8080返回000,浏览器连接拒绝?
8080 无进程监听。执行docker compose ps -a:若tiki为Created或Exited,执行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
- 轩辕镜像使用手册