Instatic 的本篇教程围绕标题中的具体任务展开。自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
下面使用测试环境和可撤销数据演示。涉及账号、密钥、机器控制、投资或应急通信时,必须再做人工确认。
先决定 SQLite 还是 Postgres
这一节只处理“先决定 SQLite 还是 Postgres”。先保存当前状态,再运行最小测试,不要同时改变多个条件。
|
|
对 Instatic 来说,判断结果时必须结合这一边界:自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。
单机试用为什么可以选 SQLite
建议按以下顺序执行:
- 核对实际版本与来源。
- 使用测试账号、测试目录或测试设备。
- 执行一个可撤销动作。
- 保存输出、退出码或截图。
- 恢复修改并重新验证。
|
|
完成标准是“单机试用为什么可以选 SQLite”得到可核验结果,而不是命令刚好没有报错。
多人长期使用为何评估 Postgres
| 检查项 | 通过标准 | 停止信号 |
|---|---|---|
| 多人长期使用为何评估 Postgres | 输入、输出和权限范围明确 | 工具自动扩大操作范围 |
| 来源 | 能回到官方仓库或原始数据 | 依赖未知镜像或二手结论 |
| 安全 | 日志中没有秘密值 | 出现 Token、Cookie 或隐私数据 |
| 恢复 | 能回到执行前状态 | 没有备份或撤销方法 |
|
|
出现停止信号时先恢复,不要继续下一步。
Docker Compose 启动前检查环境变量
这一节只处理“Docker Compose 启动前检查环境变量”。先保存当前状态,再运行最小测试,不要同时改变多个条件。
|
|
对 Instatic 来说,判断结果时必须结合这一边界:自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。
只把应用端口绑定到回环地址
建议按以下顺序执行:
- 核对实际版本与来源。
- 使用测试账号、测试目录或测试设备。
- 执行一个可撤销动作。
- 保存输出、退出码或截图。
- 恢复修改并重新验证。
|
|
完成标准是“只把应用端口绑定到回环地址”得到可核验结果,而不是命令刚好没有报错。
第一次启动后查看迁移日志
| 检查项 | 通过标准 | 停止信号 |
|---|---|---|
| 第一次启动后查看迁移日志 | 输入、输出和权限范围明确 | 工具自动扩大操作范围 |
| 来源 | 能回到官方仓库或原始数据 | 依赖未知镜像或二手结论 |
| 安全 | 日志中没有秘密值 | 出现 Token、Cookie 或隐私数据 |
| 恢复 | 能回到执行前状态 | 没有备份或撤销方法 |
|
|
出现停止信号时先恢复,不要继续下一步。
创建测试内容并上传一个附件
这一节只处理“创建测试内容并上传一个附件”。先保存当前状态,再运行最小测试,不要同时改变多个条件。
|
|
对 Instatic 来说,判断结果时必须结合这一边界:自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。
Caddy 只代理应用端口
建议按以下顺序执行:
- 核对实际版本与来源。
- 使用测试账号、测试目录或测试设备。
- 执行一个可撤销动作。
- 保存输出、退出码或截图。
- 恢复修改并重新验证。
|
|
完成标准是“Caddy 只代理应用端口”得到可核验结果,而不是命令刚好没有报错。
HTTPS 正常不代表应用安全
| 检查项 | 通过标准 | 停止信号 |
|---|---|---|
| HTTPS 正常不代表应用安全 | 输入、输出和权限范围明确 | 工具自动扩大操作范围 |
| 来源 | 能回到官方仓库或原始数据 | 依赖未知镜像或二手结论 |
| 安全 | 日志中没有秘密值 | 出现 Token、Cookie 或隐私数据 |
| 恢复 | 能回到执行前状态 | 没有备份或撤销方法 |
|
|
出现停止信号时先恢复,不要继续下一步。
数据库备份与文件备份分开执行
这一节只处理“数据库备份与文件备份分开执行”。先保存当前状态,再运行最小测试,不要同时改变多个条件。
|
|
对 Instatic 来说,判断结果时必须结合这一边界:自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。
做一次空目录恢复演练
建议按以下顺序执行:
- 核对实际版本与来源。
- 使用测试账号、测试目录或测试设备。
- 执行一个可撤销动作。
- 保存输出、退出码或截图。
- 恢复修改并重新验证。
|
|
完成标准是“做一次空目录恢复演练”得到可核验结果,而不是命令刚好没有报错。
升级镜像前固定当前标签
| 检查项 | 通过标准 | 停止信号 |
|---|---|---|
| 升级镜像前固定当前标签 | 输入、输出和权限范围明确 | 工具自动扩大操作范围 |
| 来源 | 能回到官方仓库或原始数据 | 依赖未知镜像或二手结论 |
| 安全 | 日志中没有秘密值 | 出现 Token、Cookie 或隐私数据 |
| 恢复 | 能回到执行前状态 | 没有备份或撤销方法 |
|
|
出现停止信号时先恢复,不要继续下一步。
迁移失败时不要反复重启
这一节只处理“迁移失败时不要反复重启”。先保存当前状态,再运行最小测试,不要同时改变多个条件。
|
|
对 Instatic 来说,判断结果时必须结合这一边界:自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。
SQLite 锁错误如何定位并发
建议按以下顺序执行:
- 核对实际版本与来源。
- 使用测试账号、测试目录或测试设备。
- 执行一个可撤销动作。
- 保存输出、退出码或截图。
- 恢复修改并重新验证。
|
|
完成标准是“SQLite 锁错误如何定位并发”得到可核验结果,而不是命令刚好没有报错。
Postgres 连接失败分层排查
| 检查项 | 通过标准 | 停止信号 |
|---|---|---|
| Postgres 连接失败分层排查 | 输入、输出和权限范围明确 | 工具自动扩大操作范围 |
| 来源 | 能回到官方仓库或原始数据 | 依赖未知镜像或二手结论 |
| 安全 | 日志中没有秘密值 | 出现 Token、Cookie 或隐私数据 |
| 恢复 | 能回到执行前状态 | 没有备份或撤销方法 |
|
|
出现停止信号时先恢复,不要继续下一步。
上线后的最终恢复清单
这一节只处理“上线后的最终恢复清单”。先保存当前状态,再运行最小测试,不要同时改变多个条件。
|
|
对 Instatic 来说,判断结果时必须结合这一边界:自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。
上传目录权限错误如何定位
建议按以下顺序执行:
- 核对实际版本与来源。
- 使用测试账号、测试目录或测试设备。
- 执行一个可撤销动作。
- 保存输出、退出码或截图。
- 恢复修改并重新验证。
|
|
完成标准是“上传目录权限错误如何定位”得到可核验结果,而不是命令刚好没有报错。
反代后的真实客户端 IP 是否可信
| 检查项 | 通过标准 | 停止信号 |
|---|---|---|
| 反代后的真实客户端 IP 是否可信 | 输入、输出和权限范围明确 | 工具自动扩大操作范围 |
| 来源 | 能回到官方仓库或原始数据 | 依赖未知镜像或二手结论 |
| 安全 | 日志中没有秘密值 | 出现 Token、Cookie 或隐私数据 |
| 恢复 | 能回到执行前状态 | 没有备份或撤销方法 |
|
|
出现停止信号时先恢复,不要继续下一步。
删除测试实例前确认备份可读
这一节只处理“删除测试实例前确认备份可读”。先保存当前状态,再运行最小测试,不要同时改变多个条件。
|
|
对 Instatic 来说,判断结果时必须结合这一边界:自托管 Instatic 涉及应用、数据库、上传文件和反向代理;备份只覆盖数据库会留下无法恢复的附件和配置缺口。
如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。
Instatic 的最终核对
- 使用的版本和来源已经记录。
- 测试输入与正式数据已经隔离。
- 命令、配置和实际输出能够对应。
- 失败路径至少主动测试过一次。
- 密钥、账号和私人数据没有进入 Git 或日志。
- 升级、停止和恢复都有明确动作。
如果仍无法解释结果如何产生,就继续把 Instatic 保持在测试环境,不要扩大权限或替换现有稳定流程。