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 保持在測試環境,不要擴大權限或取代現有穩定流程。