12 KiB
image, description, source, canonical, exported_at
| image | description | source | canonical | exported_at |
|---|---|---|---|---|
| linuxserver/bookstack | linuxserver/bookstack 是一款开源知识管理工具,帮助用户构建结构化知识库,支持 Markdown 编辑、富文本格式、多层级章节管理、全文搜索、版本历史追踪及思维导图可视化。界面简洁直观,支持团队协作与权限管理,通过 Docker 快速部署,适用于个人笔记整理、项目文档管理、企业知识库搭建等场景,帮助高效沉淀和共享信息,提升团队协作效率。 | https://xuanyuan.cloud/zh/r/linuxserver/bookstack | https://xuanyuan.cloud/zh/r/linuxserver/bookstack | 2026-07-12T16:36:12.930Z |
轩辕镜像中文简介(在线版): linuxserver/bookstack 中文简介
含镜像标签、拉取命令、部署文档与相关推荐。
LinuxServer.io BookStack 容器介绍
LinuxServer.io 团队简介
LinuxServer.io 团队专注于提供高质量容器,主要特点包括:
- 定期及时的应用更新
- 简化的用户权限映射(PGID、PUID)
- 基于 s6 overlay 的自定义基础镜像
- 每周系统更新,通过跨生态通用层减少存储空间、 downtime 和带宽消耗
- 定期安全更新
BookStack 容器概述
[BookStack] 是一款免费开源的 Wiki 工具,专为创建美观文档设计。它提供直观的 WYSIWYG 编辑器,同时支持 Markdown,帮助团队轻松构建详细实用的文档。BookStack 基于 SQL 数据库,致力于让文档编写从负担变为享受。
支持的架构
容器通过 Docker 清单实现多平台支持,拉取 lscr.io/linuxserver/bookstack:latest 即可自动匹配对应架构。也可通过标签指定架构:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
应用设置
初始访问
默认用户名:[邮箱已删除],密码:password。访问地址:http://<主机IP>:6875。
依赖说明
需搭配 MariaDB 数据库(可使用 [LinuxServer MariaDB 容器] )。
反向代理配置
若通过子路径反向代理(如 SWAG 或 Traefik),必须设置 APP_URL 环境变量为外部域名,否则无法正常使用。
文件路径映射
容器将 BookStack 关键文件/目录持久化到 /config 目录,方便数据持久化。以下为容器内路径与 BookStack 原生路径的映射关系:
| 容器内路径 | BookStack 相对路径 |
|---|---|
/config/www/.env |
.env(配置文件) |
/config/log/bookstack/laravel.log |
storage/logs/laravel.log(日志) |
/config/backups/ |
storage/backups/(备份) |
/config/www/files/ |
storage/uploads/files/(文件上传) |
/config/www/images/ |
storage/uploads/images/(图片上传) |
/config/www/themes/ |
themes/(主题) |
/config/www/uploads/ |
public/uploads/(公共上传) |
修改 APP_URL
若初始安装后需更改 APP_URL,需在主机终端运行以下命令更新数据库条目:
docker exec -it bookstack php /app/www/artisan bookstack:update-url ${旧URL} ${新URL}
高级配置(自定义 .env 文件)
如需配置邮件、LDAP 等高级功能,可通过环境变量或自定义 .env 文件实现。容器会自动在 /config/www/.env 生成示例配置文件,可参考 [BookStack 官方文档] 修改。
只读运行
本镜像支持只读容器文件系统,需注意:
- 必须将
/tmp挂载为 tmpfs - 详情参考 [LinuxServer 只读文档]
使用方法
前置说明
除非参数标记为“可选”,否则为必填项,必须提供值。
Docker Compose(推荐)
---
services:
bookstack:
image: docker.xuanyuan.run/linuxserver/bookstack:latest
container_name: bookstack
environment:
- PUID=1000 # 用户ID,详见下方说明
- PGID=1000 # 组ID,详见下方说明
- TZ=Etc/UTC # 时区,参考时区列表
- APP_URL= # 应用访问地址(如 []
- APP_KEY= # 会话加密密钥,需通过命令生成(详见参数说明)
- DB_HOST= # 数据库主机名
- DB_PORT=3306 # 数据库端口
- DB_USERNAME= # 数据库用户名
- DB_PASSWORD= # 数据库密码(至少4位,特殊字符需转义)
- DB_DATABASE= # 数据库名
- QUEUE_CONNECTION= # 可选,设为 database 启用异步操作(如邮件发送)
volumes:
- /path/to/bookstack/config:/config # 持久化配置目录
ports:
- 6875:80 # Web访问端口
restart: unless-stopped
Docker CLI
docker run -d \
--name=bookstack \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e APP_URL= \
-e APP_KEY= \
-e DB_HOST= \
-e DB_PORT=3306 \
-e DB_USERNAME= \
-e DB_PASSWORD= \
-e DB_DATABASE= \
-e QUEUE_CONNECTION= `#可选` \
-p 6875:80 \
-v /path/to/bookstack/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/bookstack:latest
参数说明
| 参数 | 功能说明 |
|---|---|
-p 6875:80 |
Web访问端口映射 |
-e PUID=1000 |
用户ID,避免权限问题,通过 id your_user 命令获取 |
-e PGID=1000 |
组ID,同上 |
-e TZ=Etc/UTC |
时区,参考 时区列表 |
-e APP_URL= |
应用外部访问地址(含协议、IP/域名、端口) |
-e APP_KEY= |
会话加密密钥,生成命令:docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey |
-e DB_HOST= |
数据库主机名 |
-e DB_PORT=3306 |
数据库端口 |
-e DB_USERNAME= |
数据库用户名 |
-e DB_PASSWORD= |
数据库密码(至少4位,特殊字符需转义) |
-e DB_DATABASE= |
数据库名 |
-e QUEUE_CONNECTION= |
可选,设为 database 启用异步操作(参考 [官方文档] ) |
-v /config |
持久化配置目录 |
--read-only=true |
启用只读文件系统(需配合 tmpfs 挂载) |
环境变量文件(Docker Secrets)
可通过 FILE__ 前缀从文件加载环境变量,例如:
-e FILE__MYVAR=/run/secrets/mysecretvariable
此命令会将 /run/secrets/mysecretvariable 文件内容作为 MYVAR 的值。
Umask 设置
可通过 -e UMASK=022 覆盖默认 umask(文件权限掩码)。注意 umask 是权限减法,而非直接设置权限,详情参考 umask 说明。
用户/组 ID
使用卷挂载时,主机与容器可能出现权限冲突。通过 PUID 和 PGID 指定用户/组 ID,确保主机卷目录所有者与容器内一致即可解决。获取当前用户 ID:
id your_user
输出示例:uid=1000(your_user) gid=1000(your_user)
Docker Mods
可通过 Docker Mods 扩展容器功能,支持 BookStack 的 Mods 及通用 Mods 列表见 [LinuxServer Mods 页面] 。
支持信息
容器内操作
- 进入容器 shell:
docker exec -it bookstack /bin/bash - 实时查看日志:
docker logs -f bookstack
版本查询
- 容器版本:
docker inspect -f '{{ index .Config.Labels "build_version" }}' bookstack - 镜像版本:
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/bookstack:latest
更新方法
通过 Docker Compose
- 更新镜像(全部或单个):
docker-compose pull # 全部镜像 # 或 docker-compose pull bookstack # 单个镜像 - 重启容器(全部或单个):
docker-compose up -d # 全部容器 # 或 docker-compose up -d bookstack # 单个容器 - 清理旧镜像:
docker image prune
通过 Docker Run
- 更新镜像:
docker pull docker.xuanyuan.run/linuxserver/bookstack:latest - 停止并删除旧容器:
docker stop bookstack docker rm bookstack - 用原参数重新创建容器(卷映射正确则配置保留)
- 清理旧镜像:
docker image prune
镜像更新通知
推荐使用 [Diun] 接收更新通知,不建议使用自动更新工具。
本地构建
如需自定义镜像:
git clone []
cd docker-bookstack
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/bookstack:latest .
跨架构构建(如 x86_64 构建 ARM 镜像)需先运行:
docker run --rm --privileged docker.xuanyuan.run/linuxserver/qemu-static --reset
然后指定架构 Dockerfile(如 -f Dockerfile.aarch64)。
版本历史
- 05.07.25: 基于 Alpine 3.22 重构
- 04.01.25: 添加 php-opcache
- 17.12.24: 基于 Alpine 3.21 重构
- 11.10.24: 默认优先使用环境变量配置(而非 .env 文件)
- 06.09.24: 添加 php-exif 支持图片 EXIF 数据读取
- 27.05.24: 基于 Alpine 3.20 重构,用户需更新 nginx 配置避免 http2 警告
- 25.01.24: 用户需更新 site-confs/default.conf(清理默认站点配置)
- 23.12.23: 基于 Alpine 3.19 重构,使用 PHP 8.3
- 31.10.23: 优化 sed 替换逻辑
- 07.06.23: 添加 mariadb-client 支持 bookstack-system-cli
- 25.05.23: 基于 Alpine 3.18 重构,移除 armhf 支持
- 13.04.23: 将 ssl.conf 引入 default.conf
- 01.03.23: 添加 php iconv
- 19.01.23: 基于 Alpine 3.17 重构,使用 PHP 8.1
- 16.01.23: .env 文件值添加引号包裹
- 05.01.23: 修复数据库密码设置(sed 转义 & 符号)
- 21.12.22: 环境变量更新时自动同步 .env 文件
- 10.10.22: 移除密码转义逻辑(解决部分用户问题)
- 20.08.22: 基于 Alpine 3.15 重构,使用 PHP 8,调整 nginx 配置
- 14.03.22: 添加主题支持符号链接
- 11.07.21: 基于 Alpine 3.14 重构
- 12.01.21: 移除 0.31.0 版本后不再需要的依赖
- 17.12.20: APP_URL 设为必填项(上游变更)
- 17.09.20: 基于 Alpine 3.12 重构,修复 APP_URL 设置,默认上传大小调整为 100MB
- 19.12.19: 基于 Alpine 3.11 重构
- 26.07.19: 使用旧版 tidyhtml 等待上游修复
- 28.06.19: 基于 Alpine 3.10 重构
- 14.06.19: 添加 wkhtmltopdf 支持 PDF 导出
- 20.04.19: 基于 Alpine 3.9 重构,添加 MySQL 初始化逻辑
- 22.03.19: 切换基础镜像,使用 arm32v7 标签
- 20.01.19: 添加 php7-curl
- 04.11.18: 添加 php7-ldap
- 15.10.18: 优化高级用户功能
- 08.10.18: 高级模式、符号链接调整、sed 修复、文档更新
- 23.09.28: 更新预发布版本
- 02.07.18: 初始发布