部署BookStack文档管理系统
我需要在内网部署一个文档系统,要求能够免登录编辑页面内容,在内网所有设备同步文本和数据,页面自适应设备。所以找到了BookStack。本来没啥好记录的,都是官方的文档,但是官方写的文档太不全了,这里补全一下docker compose的配置。
我需要在内网部署一个文档系统,要求能够免登录编辑页面内容,在内网所有设备同步文本和数据,页面自适应设备。所以找到了BookStack。本来没啥好记录的,都是官方的文档,但是官方写的文档太不全了,这里补全一下docker compose的配置。
为了在openClash使用自己的零散节点,全程在openwrt本地使用,不提供对外服务。
服务有两部分组成:
在NAS上使用docker部署AdGuard Home,配置上游dns,监控家庭内部的DNS查询,并过滤广告、成人内容。
参考别人教程刷机还是遇到了一些问题,这里记录一下流程。
openwrt的衍生固件很多,比如ImmortalWrt、kwrt、Qwrt等等,我们这里用kwrt界面更好看一点,内置passwall上网工具,配置起来很简单。
记录一下配置过程,前提是已经在cloudflare workers部署了hexo静态网站,然后本文开始在cloudflare workers部署analytics_with_cloudflare服务,并配置hexo页面自动请求服务接口,记录网站和页面访问量(pv&uv)到cloudflare D1数据库,并设置服务接口的跨域和安全性配置。
我们用到的组件:
这里记录几个解决的问题,不是部署手册。
使用官方环境变量MINERU_VIRTUAL_VRAM_SIZE控制,比如pipeline模式官方要求最低显存6G,我们直接限制最高8G。然后跑一个大文档,查看mineru的日志,能发现显存被控制住了,批处理数量也自动被控制了。

使用Golang编写一个基于livekit的全流程语音对话智能体 https://pidan.dev/20250719/webrtc-connect-livekit-use-go-sdk/
【WebRTC全流程】LiveKit Server Docker 部署会议室(不设置ssl/tls证书模式) https://pidan.dev/20250715/webrtc-livekit-deploy-with-no-tls/
【WebRTC全流程】按照官方推荐的方式部署LiveKit(配置turn和ssl/tls证书) https://pidan.dev/20250721/webrtc-livekit-deploy-with-tls/
【WebRTC全流程】livekit配置免费的cloudflare turn服务 https://pidan.dev/20250722/webrtc-livekit-deploy-config-turn-server/
【WebRTC全流程】公网部署LiveKit并配置自己申请的ssl证书 https://pidan.dev/20251113/webrtc-livekit-deploy-with-tls-certificate-files/
下边是几种部署livekit的方式
| 部署模式 | ssl/tls证书 | turn/stun | 域名 | 备注 | 文档 |
|---|---|---|---|---|---|
| 纯内网 | 不需要 | 不需要 | 不需要 | https://pidan.dev/20250715/webrtc-livekit-deploy-with-no-tls/ | |
| 公网 | 需要 | all in one自带turn | 需要 | 不支持自签证书 | 官方模式 https://pidan.dev/20250721/webrtc-livekit-deploy-with-tls/ |
| 公网 | 需要 | 使用第三方turn | 需要 | 不支持自签证书 | https://pidan.dev/20250722/webrtc-livekit-deploy-config-turn-server/ |
一些关键概念:
RFC 8656中定义。下边是几种部署livekit的方式
| 部署模式 | ssl/tls证书 | turn/stun | 域名 | 备注 | 文档 |
|---|---|---|---|---|---|
| 纯内网 | 不需要 | 不需要 | 不需要 | https://pidan.dev/20250715/webrtc-livekit-deploy-with-no-tls/ | |
| 公网 | 需要 | all in one自带turn | 需要 | 不支持自签证书 | 官方模式 https://pidan.dev/20250721/webrtc-livekit-deploy-with-tls/ |
| 公网 | 需要 | 使用第三方turn | 需要 | 不支持自签证书 | https://pidan.dev/20250722/webrtc-livekit-deploy-config-turn-server/ |
本文按照官方文档部署一个安全的livekit会议室服务器,自动配置ssl、turn、stun等组件。
官方流程会自动配置启动一个Caddy并自动设置&自动续签免费域名SSL证书,启动一个all in one的livekit服务器,内置一个turn服务器,这样你就不需要自己去找半天turn服务配置上发现都不能用。
本文完全参考了官方文档 https://docs.livekit.io/home/self-hosting/vm/ 只是自己操作一遍
我们要开发的一个流程:用户说话=>livekit转发=>Go后端接收=>asr实时转文字=>llm回答问题=>tts实时文字合成音频=>音频推送到livekit=>用户听到tts的声音。只是一个最基础的实现,走通流程,没有复杂的说话打断等功能。
LiveKit的sdk非常全,主流的编程语言、前端、后端的都有,开发起来非常简单,而且官方提供了非常多且详细的代码示例。
这里我们继续用Golang连接LiveKit会议室,接收会议室音频,进行asr语音识别,并把识别结果输入大模型,最终把响应打印在控制台(后续会接上tts进行语音合成和播报)。
环境准备: