bwstudio
|
be99b8a925
|
feat(data): 数据库搬到 data/ 目录 + SQLite WAL + 单卷绑定挂载
- config.py 新增 PEAR_DATA_DIR(默认 <项目根>/data),SQLite 库、Flask-Session
统一收进 DATA_DIR;不设时本地开发行为不变
- applications/__init__.py 顶部先 load_dotenv,保证 .env 里的 PEAR_DATA_DIR
在 config 导入时就生效
- extensions/init_sqlalchemy.py 接 SQLite connect 事件:WAL + synchronous=NORMAL
+ busy_timeout=30s(多 worker 写不再撞锁)
- config.py 注入 SQLALCHEMY_ENGINE_OPTIONS(pool_pre_ping + SQLite connect_args
超时;MySQL 路径下自动跳过 connect_args 防止参数错误)
- 新增 alembic 迁移 a47a5d2a3f1b 建 site_nav_click(含 anon_id 字段),
解决之前该表只由 db.create_all 建、不在迁移链里的隐患
- .gitignore / .dockerignore 加 data/ 排除规则(且把 migrations/ 从
ignore 里重新放行 —— 否则新加的迁移进不了库)
- NAS Docker 部署全面重写:
- compose 唯一绑定挂载 ./data:/app/data,宿主 File Station 看得见
- start.sh 自检 data 目录 + 子目录;workers 默认改为 1 threads 8
(SQLite 写串行,单进程最稳)
- 新增 backup.sh:sqlite3 .backup 在线热备(确保 WAL 一致性)+ 压缩
+ 保留 14 天
- Dockerfile 安装 sqlite3 客户端备用,建 /app/data 子目录并 chown
- docs/deployment-nas.md 重写数据持久化章节(路径表 + 热备命令 +
恢复步骤 + 整库迁移 tar/untar 流程)
|
2026-09-06 19:43:28 +08:00 |
|
bwstudio
|
1ea69c2c34
|
refactor(plugins): 将导航/友链/关于/统计 4 模块迁出 framework 至 plugins
- 在 applications/config.py 中通过 PLUGIN_ENABLE_FOLDERS 启用 4 个业务插件
- 删除 framework 内 applications/view/system/nav.py 与 templates/system/nav/* 模板
- applications/extensions/init_plugs 移除重复的 broadcast_execute('event_init'/'event_finish')
(由 init_bps / init_script 触发,避免 Blueprint 注册冲突)
- applications/view/system/index.py:未登录访问 / 直接渲染前台公开聚合页
- templates/system/index.html:移动端首屏即折叠侧边栏
- 新增 5 个 model(Nav 字段 status→enable 兼容、NavCategory、About、Friend、VisitLog/PageStat、NavClick)
- 新增 2 个 schema(NavCategorySchema、FriendOutSchema/ManageSchema)
- admin_about/admin_friend/admin_nav_category 在 init.json 中以「网站管理」分组挂载
- .gitignore 补充一次性备份、调试截图、探针截图不入库
|
2026-09-06 18:17:52 +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
|
552bf77924
|
完善文档并添加示例插件
|
2025-01-30 16:56:12 +08:00 |
|
wojiaoyishang
|
184c4ad80d
|
更正插件与配置文件
|
2025-01-25 14:03:37 +08:00 |
|
不胜舟
|
57f2ce1413
|
add flask-session扩展
|
2024-01-12 15:52:27 +08:00 |
|
不胜舟
|
4e7a85bead
|
去除首页面,优化命名,优化schema
|
2023-06-21 01:15:56 +08:00 |
|
不胜舟
|
3690b8c22a
|
精简功能
|
2023-05-30 01:00:06 +08:00 |
|
不胜舟
|
c760302ff8
|
更改项目启动方式
|
2023-05-29 00:26:42 +08:00 |
|
 彭华林andGitee
|
31a6c83222
|
fix database connect fail when password contain "@"
#
MYSQL_PASSWORD = "test@1234"
python app.py will run fail.
Signed-off-by: 彭华林 <12873625+hualpeng@user.noreply.gitee.com>
|
2023-05-02 16:31:59 +00:00 |
|
我叫以赏
|
1c11295163
|
fix: 优化插件目录结构,默认不启用插件
|
2023-04-16 16:48:49 +08:00 |
|
我叫以赏
|
9e6b085ac5
|
fix: 修复插件不能使用的问题
|
2023-04-16 16:47:19 +08:00 |
|
我叫以赏
|
c86488d5bd
|
doc: 更新 master 分支文档,并移除不需要的图片
|
2023-04-16 16:43:44 +08:00 |
|
我叫以赏
|
d71f8ce368
|
修复在更新目录结构后插件无法使用的问题
|
2023-04-16 15:55:29 +08:00 |
|
不胜舟
|
0b4dbf4259
|
简化配置文件
|
2023-04-06 17:43:27 +08:00 |
|