bookstack

zeigren/bookstack Docker 镜像

BookStack的Docker部署方案,包含Compose、Swarm使用示例,支持Caddy、NGINX、Traefik等Web服务器及反向代理。

1 次收藏下载次数: 0状态:社区镜像维护者:zeigren仓库类型:镜像最近更新:
下载命令
点击查看

BookStack Docker 部署栈

链接

https://hub.docker.com/r/zeigren/bookstack

https://ghcr.io/zeigren/bookstack_docker

https://github.com/Zeigren/bookstack_docker

主仓库

项目

标签

  • latest
  • 21.05.3
  • 21.05.2
  • 21.05.1
  • 21.04.2
  • 0.31.8
  • 0.30.1
  • 0.30.0
  • 0.29.3
  • 0.29.0
  • 0.28.3
  • 0.28.2
  • 0.28.0
  • 0.27.5
  • 0.27.4
  • 0.26.2
  • 0.26.1
  • 0.26.0
  • 0.25.5

技术栈

  • PHP 8.0-fpm-alpine - BookStack 应用
  • Caddy 或 NGINX - Web 服务器
  • MariaDB - 数据库
  • Redis Alpine - 缓存服务

使用方法

使用 https://docs.docker.com/compose/ 或 https://docs.docker.com/engine/swarm/ 进行部署。容器可从 Docker Hub 和 GitHub Container Registry 获取。

提供使用 https://caddyserver.com/ 或 NGINX 作为 Web 服务器的示例,以及使用 Caddy、NGINX 或 https://traefik.io/traefik/ 处理 HTTPS 的示例(Traefik 示例还包含反向代理配置)。NGINX 相关示例位于 nginx 文件夹中。

推荐建议

推荐使用 Caddy 作为 Web 服务器,可直接处理 HTTPS 或与 Traefik 配合使用,两者均原生支持 ACME,能能自动从 Let's Encrypt 获取 HTTPS 证书,或为本地使用生成自签名证书。

如果条件允许,建议使用 https://docs.docker.com/engine/swarm/ 而非 https://docs.docker.com/compose/,因其支持 https://docs.docker.com/engine/swarm/secrets/ 和 https://docs.docker.com/engine/swarm/configs/。

若 Caddy 不适用或追求性能,可参考 NGINX 示例。虽未进行性能测试,但 NGINX 具有高度可配置性,在用户量较大时可能通过优化获得更好性能(详见下文性能调优部分)。

配置说明

配置通过在 .yml 文件中设置环境变量实现。更多用于配置 BookStack 和 PHP 的环境变量可在 docker-entrypoint.sh 中找到,Caddy 相关配置可在 bookstack_caddyfile 中查看。

设置 DOMAIN 变量会影响 Caddy 使用的协议:HTTP、带自签名证书的 HTTPS,或带 Let's Encrypt/ZeroSSL 证书的 HTTPS。详见 Caddy https://caddyserver.com/docs/automatic-https。

容器启动后,可使用用户名 admin@admin.com 和密码 password 登录。

https://docs.docker.com/engine/swarm/

推荐配合 https://traefik.io/traefik/) 作为反向代理使用,示例文件 traefik.yml 已包含(非必需)。

需创建相应的 https://docs.docker.com/engine/swarm/secrets/ 和 https://docs.docker.com/engine/swarm/configs/。

部署命令:

bash
docker stack deploy --compose-file docker-swarm.yml bookstack

https://docs.docker.com/compose/

启动命令:

bash
docker-compose up -d

通过 127.0.0.1:9080 访问。

文件上传配置

设置 POST_MAX_SIZE、UPLOAD_MAX_FILESIZE 和 MEMORY_LIMIT 变量以配置最大文件上传大小(MEMORY_LIMIT 至少应为 128M)。详见 BookStack 文档。

性能调优

Web 服务器默认设置相关 HTTP 头,使浏览器尽可能长时间缓存文件,同时要求浏览器检查文件是否更新,以在避免缓存旧内容的前提下利用缓存优势。若内容不常变化或可通过其他方式失效,可修改此行为以减少请求次数。

默认 PHP 配置根据需求扩展子进程,适合低资源和轻量使用场景。将其设置为动态或静态模式可提升性能。可在 docker-entrypoint.sh 的 "PHP Configuration" 部分查看并设置相关调优参数。

灵感来源

本项目是 https://github.com/solidnerd/docker-bookstack 的分支,而后者又是 https://github.com/Kilhog/docker-bookstack 的分支。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 bookstack 镜像标签

docker pull docker.xuanyuan.run/zeigren/bookstack:<标签>

DockerHub 原生拉取命令

docker pull zeigren/bookstack:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告