资讯动态

Cloud in a Bottle 故障排查清单:7 类常见问题与日志位置速查表

发布时间:2026/10/13 9:27:37 来源:尧图企业网站定制
【免费下载链接】cloud-in-a-bottleDeploy, use, and share web apps on a server you control. Your apps, data, and infrastructure stay yours.项目地址https://gitcode.com/gh_mirrors/cl/cloud-in-a-bottle点击查看免费下载Cloud in a Bottle是一个让你在自己服务器上部署、使用和分享 Web 应用的开源平台——应用、数据和基础设施都归你掌控。本文整理了一份7 类常见问题的故障排查清单并附上每个问题对应的日志位置和排查命令速查表帮助新手快速定位故障、恢复实例。先搞清楚日志在哪里排查任何问题前先知道日志分四类存放详见 docs/src/how_it_works/logs.md日志看什么怎么读Router 文件日志INFO 及以上只保留当前运行周期bottle logsjournaldsystemdDEBUG 及以上重启后仍保留含 Caddy/CoreDNS 输出sudo journalctl -u openhost -fApp 构建日志docker.log镜像构建 容器启停事件bottle app logs appApp 容器日志container.log应用自身的 stdout/stderr同上命令后半段关键路径速记数据目录一般为~/.openhost/local_compute_space/Router 日志文件persistent_data/openhost/compute_space.log应用日志目录temporary_data/app_temp_data/app/完整目录结构见 docs/src/how_it_works/overview.md 7 类常见问题速查表#症状排查入口1Dashboard 打不开sudo systemctl status openhost2应用构建失败bottle app logs app构建日志在前半段3应用反复启动又死亡内存不足查容器日志 Router 的 OOM 告警4应用构建成功但返回 502检查容器是否绑定了 manifest 声明的端口5应用被自动停掉磁盘空间不足存储守卫触发6域名没有证书 / HTTPS 异常证书申请期间的journalctl日志 DNS 委派7忘记 owner 密码、被锁在门外通过 SSH 直接重置数据库中的密码哈希官方调试指南docs/src/operation/debugging.md1️⃣ Dashboard 打不开先查 openhost 服务Cloud in a Bottle 以单个 systemd 单元openhost运行Caddy 和 CoreDNS 都是它的子进程。第一步永远是sudo systemctl status openhost # 看服务状态和最后几行日志 sudo journalctl -u openhost -n 200 # 看最近 200 行日志 sudo systemctl restart openhost # 确认是配置问题后重启 因为 journald 日志在重启后仍然保留服务起不来时的报错只有在这里能看到。配置修改后需要重启才生效。2️⃣ 应用构建失败看构建日志的前半段bottle app logs app会先输出podman build的构建日志再跟容器日志——构建阶段的报错都在前半段。Dashboard 的应用详情页也能看到同样的内容。每次重新构建时旧构建日志会带时间戳归档保留最近 5 份。3️⃣ 应用反复死亡多半是内存不够容器默认内存上限只有128 MBmanifest 中的memory_mb见 docs/src/creating_an_app/manifest_spec.md。应用一启动就被 OOM 杀掉、反复重启是典型症状。Router 内置的 memory_guard.py 会在内存接近上限或发生 OOM 时写入告警日志。解决办法在 manifest 中调大memory_mb或降低应用自身的内存消耗。4️⃣ 构建成功却 502检查端口绑定502 表示 Router 代理到了容器但容器内没有进程在监听端口。用bottle app logs app查看应用自身的报错确认它监听的就是cloudinabottle.toml中port字段声明的端口并且监听在 0.0.0.0 而非仅 localhost。5️⃣ 应用被自动停掉磁盘空间守卫在保护你当磁盘可用空间低于阈值storage_min_free_mb默认500 MB时存储守卫 会主动停掉运行中的应用防止磁盘写满拖垮整个实例。排查思路用df -h或 Dashboard 的 System info 页确认磁盘占用清理数据可以在 System 页临时暂停守卫启动一个文件浏览应用来清理必要时调大阈值或设为0关闭守卫config.py然后重启服务6️⃣ 域名没有证书DNS 委派 证书申请日志公共域名的证书通过ACME DNS-01申请实例会把挑战 TXT 记录写进自己的 CoreDNS 区域CA 读取后删除。所以前提是整个 zone 已经委派给这台机器而不是简单指一条 A 记录详见 docs/src/how_it_works/routing.md。排查方法在证书申请期间执行journalctl -u openhost -f观察全过程。证书下发前域名会以 Caddy 自签名证书提供服务浏览器会有警告——这是正常的中间状态。7️⃣ 忘记 owner 密码SSH 直接重置owner 密码以 bcrypt 哈希存在 Router 的 SQLite 数据库里没有重置链接。只要能 SSH 进机器就可用 debugging.md 中的方法直接更新users表的password_hash无需重启下次登录即生效。完成后记得吊销不认识的 API token。 两个万能排查工具JSON 诊断包——一条命令打包实例或单个应用的完整状态可以直接贴给开发者或 AI 助手bottle diagnostics # 整个实例 bottle app diagnostics app # 单个应用其收集逻辑见 diagnostics.py。网页终端——SSH 没配好时的最快入口直接访问https://你的域名/terminal/进应用容器用bottle app ssh app。完整命令参考 docs/src/operation/cli.md。 排查流程总结按这个顺序走能解决 90% 的问题sudo systemctl status openhost—— 服务活着吗bottle logs/journalctl -u openhost -f—— Router 侧报了什么bottle app logs app—— 应用构建和运行侧报了什么bottle diagnostics—— 打包全量状态交给开发者确认磁盘与内存余量 —— 存储守卫和内存上限是隐形杀手掌握这份 故障排查清单 和日志位置速查表你的 Cloud in a Bottle 实例就能快速从大多数故障中恢复继续安心托管你的应用。赞分享【免费下载链接】cloud-in-a-bottleDeploy, use, and share web apps on a server you control. Your apps, data, and infrastructure stay yours.项目地址https://gitcode.com/gh_mirrors/cl/cloud-in-a-bottle点击查看免费下载相关推荐ChatLab 故障排查指南日志体系解析与常见问题定位ChatLab 故障排查指南日志体系解析与常见问题定位 本篇指南面向 ChatLab 的用户与开发者围绕官方《故障排查指南》 docs/tw/usage/人工智能AI Agent数据分析桌面应用后端前端即时通讯MCP 服务本地部署LitePan 故障排查清单部署与网盘接入 10 个常见问题速查LitePan 故障排查清单部署与网盘接入 10 个常见问题速查 LitePan 是一款多网盘聚合挂载工具支持 WebDAV、STRM 播放、媒体整理、FUChatLab 故障排查指南日志定位、常见问题处理与 Issue 上报ChatLab 故障排查指南日志定位、常见问题处理与 Issue 上报 ChatLab 是一款本地优先local first的 AI 聊天记录分析工具聊创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑