—— 搭建个人/企业私有知识库系统 ——
一、项目介绍
BookStack 是一款开源知识库系统,适合部署在 NAS 上,用于管理:
- 技术文档;
- 产品手册;
- 运维笔记;
- 售后 FAQ;
- 团队知识库。
主要特点:
- 支持富文本和 Markdown;
- 支持图片、附件上传;
- 支持权限管理;
- 支持全文搜索;
- 支持多用户协作;
- 支持 PDF 导出。

二、准备工作
确认:
- TOS 7 已安装 Docker Manager;
- Docker Engine 正常运行;
- 创建目录:
代码: 全选
/Volume1/docker/bookstack

三、生成 APP_KEY
BookStack 需要 Laravel 加密密钥。
SSH 登录 NAS,执行:
代码: 全选
docker run -it --rm \
--entrypoint /bin/bash \
lscr.io/linuxserver/bookstack:latest appkey
复制输出的:
代码: 全选
base64:xxxxxxxxxxxx
备用。

四、创建项目
Docker Manager:
代码: 全选
项目
↓
创建项目
↓
项目名称:bookstack
↓
路径:/Volume1/docker/bookstack
选择:
代码: 全选
创建 YAML 文件
填写:
代码: 全选
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
restart: unless-stopped
ports:
- 6875:80
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- APP_URL=http://你的NAS_IP:6875
- APP_KEY=替换为生成的APP_KEY
- DB_HOST=bookstack_db
- DB_USERNAME=bookstack
- DB_PASSWORD=设置数据库密码
- DB_DATABASE=bookstackapp
volumes:
- ./uploads:/config
depends_on:
- bookstack_db
bookstack_db:
image: mariadb:10.11
container_name: bookstack_db
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=设置root密码
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=设置数据库密码
volumes:
- ./db:/var/lib/mysql
注意:
以下两个密码保持一致:
代码: 全选
DB_PASSWORD
MYSQL_PASSWORD
填写完成后点击:
代码: 全选
创建
五、访问 BookStack
等待容器启动完成。
浏览器访问:
代码: 全选
http://你的NAS_IP:6875
例如:
代码: 全选
http://192.168.1.100:6875
默认账号:
代码: 全选
admin@admin.com
默认密码:
代码: 全选
password
首次登录后修改密码。
六、数据位置
重要数据:
代码: 全选
/Volume1/docker/bookstack/uploads
/Volume1/docker/bookstack/db
备份以上目录即可。
七、常见问题
1、APP_KEY错误
提示:
代码: 全选
The application key is missing
重新生成 APP_KEY。
2、数据库错误
提示:
代码: 全选
Access denied for user
检查:
代码: 全选
DB_USERNAME
DB_PASSWORD
MYSQL_USER
MYSQL_PASSWORD
是否一致。
八、项目地址
BookStack:
https://github.com/BookStackApp/BookStack
LinuxServer镜像:
https://docs.linuxserver.io/images/docker-bookstack/
本文适用于铁威马 TOS 7 + Docker Manager 部署。
