feat: 实现 AIO 容器部署

This commit is contained in:
SkyJourney
2026-07-26 16:55:36 +08:00
parent d1b5880a5b
commit 15dd2acfc0
13 changed files with 425 additions and 32 deletions
+15 -3
View File
@@ -13,11 +13,12 @@
- Markdown、Front Matter、安全过滤和扩展语法渲染核心;
- 表格、任务列表、脚注、代码高亮、KaTeX 和 Mermaid
- iframe 隔离的真实分页预览、双向滚动同步与主题切换;
- Chromium PDF 下载、精确 PDF.js 预览与导出性能观测;
- 五种纸张、页边距、页眉、页码和浏览器配置缓存;
- 内置 Typora 风格主题,以及仅供本机使用的三套白色 Typora 默认主题导入工具;
- Docker 与 PDF 渲染目录预留
- 前端、Fastify、Nginx 和 Playwright Chromium 的 AIO 容器部署
Chromium PDF 下载和本地资源文件处理将在后续阶段实现。
本地相对资源文件处理将在后续阶段实现。
## 本地开发
@@ -96,6 +97,16 @@ npm run theme:import-typora -- --replace
自定义主题目录、`theme.json`、CSS 组合顺序、资源引用和安全限制详见 [主题开发指南](docs/THEMES.md)。
## Docker Desktop 部署
```powershell
docker compose -f deploy\compose.yaml up --build -d
```
默认访问地址为 http://localhost:8080。Compose 会将 `.local/themes`
作为只读主题目录挂载;端口、主题目录和 PDF 并发参数的配置方式详见
[AIO 容器部署说明](deploy/README.md)。
## 测试与构建
```powershell
@@ -107,4 +118,5 @@ git diff --check
## 隐私原则
文档和资源文件仅用于当前转换请求。PDF 阶段将为每次请求创建隔离的临时目录,并在成功或失败后统一清理,不接入数据库或文档历史存储。
文档内容仅用于当前渲染和转换请求,不接入数据库或文档历史存储。
相对资源文件支持将在后续阶段通过隔离临时目录和请求结束清理实现。