Commit Graph
22 Commits
Author SHA1 Message Date
bwstudio 98edfdaf2d feat(deploy): 个人 NAS 单机 Docker 部署方案
适用:内网 / 家庭 / 小团队(≤50 并发),无 K8s 需求。
特性:单容器 + SQLite + 端口暴露,最小维护成本。

新增:
- deploy/nas/Dockerfile: python:3.11-slim 基础镜像 + 非 root + HEALTHCHECK
- deploy/nas/start.sh: flask db upgrade 幂等迁移 + gunicorn (2 workers × 4 threads)
- deploy/nas/docker-compose.yaml: 单服务 + 4 个命名卷 (db/logs/session/upload) + 资源限制
- docs/deployment-nas.md: 完整部署/备份/升级/排障指南

完善:
- .env.example: 改为生产环境导向 (PEAR_ENV=pro,SECRET_KEY 必填)
- .dockerignore: 排除 deploy/dev (开发用容器配置)、tests/截图、一次性脚本
- applications/view/public/__init__.py: 注释说明 /healthz 已在 applications/view/health.py 注册

复用现有:
- /healthz 接口 (applications/view/health.py) 含 DB 探活,DB 不可达返回 503
  → 容器 HEALTHCHECK 直接用 /healthz 即可

⚠️ 本机无 docker,未执行 docker build 验证;已静态校验 YAML/bash 语法、
   文件路径、.env 字段消费、ProConfig 严格性、/healthz 端点可用性。
   首次 NAS 上部署时跑一遍文档步骤即可。
2026-09-06 18:35:31 +08:00
bwstudio 0ffc103e46 feat(plugins): 4 个业务插件代码 + 前台公开页面改造
plugins/navManager:导航 CRUD + 导航分类 CRUD(独立 blueprint)
plugins/friendManager:友情链接 CRUD
plugins/aboutManager:关于本站 CRUD
plugins/siteStats:访问统计主页 + JSON 接口 + /site/* GET 埋点 + nav 卡片点击埋点

applications/view/public/nav.py:导航聚合页 / 分类详情 / JSON 接口,支持 visit_count 注入
applications/view/public/about.py:关于本站公开页
applications/view/public/friend.py:友情链接公开页

templates/public/base.html:响应式首页(搜索框 / 分类抽屉 / 5 主题切换 / footer 隐私小字)
templates/public/index.html / category.html:卡片右下角访问次数
templates/public/about.html / friend.html:关于 + 友链前台页

docs/plugins-development.md:插件开发完整指南(生命周期 + 4 个示例 + FAQ + framework 迁移)

scripts/:探针与端到端验证脚本(probe_*/verify_*/test_*)
2026-09-06 18:18:06 +08:00
bwstudio 1214bfdf4a feat(ops): 环境变量化配置 + 健康检查 + 启动脚本 + 部署/安全文档
主要变更:

config
- 引入 python-dotenv,从 .env 加载 SECRET_KEY / MAIL_* / SQLALCHEMY_DATABASE_URI
- 拆分 BaseConfig / DevConfig / ProConfig,PEAR_ENV 控制切换
- ProConfig 在 init_app() 校验 SECRET_KEY,禁止使用默认值

ops
- 新增 /healthz 端点:DB 探活 + 环境名 + 时间戳,失败返回 503
- 新增 start.bat (Windows) / Makefile (跨平台) 一键启动 / 初始化
- 新增 .env.example 模板;.gitignore 排除 .env / logs / vscode 等
- 新增 docs/DEPLOY.md(部署指南)和 docs/SECURITY.md(安全清单)
- app.py 不再硬编码 debug=False,交给配置类决定

本提交不包含上一次会话的其它工作树修改(模板/导航相关),后续单独 PR。
2026-09-05 20:46:12 +08:00
wojiaoyishang 23db487356 添加文档构建章节 2025-01-31 10:51:11 +08:00
wojiaoyishang c5b70d90fb 更新文档与预览地址 2025-01-30 17:04:30 +08:00
wojiaoyishang 552bf77924 完善文档并添加示例插件 2025-01-30 16:56:12 +08:00
wojiaoyishang ac1f82e81d 基本完成文档 2025-01-30 10:31:50 +08:00
wojiaoyishang 41bda82c60 完善开发文档与调整初始化项目架构 2025-01-28 17:47:41 +08:00
wojiaoyishang da5917344e 更新文档,完善插件功能 2025-01-27 21:34:42 +08:00
wojiaoyishang feed91dcd0 完善文档最佳实践 2025-01-27 20:41:22 +08:00
wojiaoyishang 5153daf7da 更新文档 2025-01-27 19:48:27 +08:00
wojiaoyishang 155af93c77 完善开发文档与合并 admin_log 文件 2025-01-27 11:30:59 +08:00
wojiaoyishang 0db36a6218 完善开发文档与更新函数注释 2025-01-27 11:16:26 +08:00
wojiaoyishang de4f2c6d52 完善快速开始文档 2025-01-26 20:45:54 +08:00
陈心巧andGitee dbb03e3e44 update docs/install.md.
requirement.txt 改成了requirements.txt。

bat 是 win下的, 这里原来写反了。

另外 在执行 flask db init 会报错导入不了BaseQuery,因为  Flask-SQLAlchemy 在3.0后,BaseQuery改成了Query。

Signed-off-by: 陈心巧 <12432082+chenxinqiao@user.noreply.gitee.com>
2023-09-22 04:15:08 +00:00
不胜舟 90b6564ce6 完善文档 2023-06-21 01:44:52 +08:00
不胜舟 4e7a85bead 去除首页面,优化命名,优化schema 2023-06-21 01:15:56 +08:00
我叫以赏andGitee 08713149b1 doc: 补充 README.md 文件缺失图片
Signed-off-by: 我叫以赏 <lovepikachu@foxmail.com>
2023-04-16 22:01:11 +00:00
我叫以赏 0569d32784 doc: 更新 master 文档,并移除多余图片 2023-04-16 16:38:18 +08:00
不胜舟 269cc154ab 规范python包文件名,更新群聊 2023-04-05 23:53:44 +08:00
不胜舟 f6d7d7d84c edit md 2022-12-28 00:34:08 +08:00
zhengxinonly d9a5bcb0de 调整目录结构 2021-06-12 21:20:13 +08:00