Repository navigation
fix(zeabur): 修复 Typesense 启动失败 - #223
Merged
Merged
Conversation
ThaddeusJiang
commented
Jul 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
econnrefused直接导致 Vmemo 容器退出。nginx/nginx-common的 Debiandeb13uXsecurity revision,避免 Debian security 仓库滚动后旧 revision 下架导致 build broken。--no-install-recommends,减少不必要包和维护面。/app/storagevolume、暴露 Typesense host/port,并新增 Typelens 服务。/datastore corruption 的 postmortem。Why
28494701045的 Docker job 在apt-get install层失败:Version '1.26.3-3+deb13u6' for 'nginx' was not found。apt-get update使用当前 trixie/security 仓库索引;旧 revision 下架后,精确版本不可安装。deb13uXrevision 后,镜像仍使用当前 base image 的 Debian suite,并自动获得同一 suite 内的安全维护版本。ts_schema_migrations时遇到Req.TransportError{reason: :econnrefused}后退出。/data/db/*.ldbstore corruption,说明 Vmemo 的连接失败是 Typesense 服务自身无法启动的症状。Validation
mise exec -- mix format --check-formattedDATABASE_URL=postgres://postgres:postgres@localhost/vmemo_test TYPESENSE_URL=http://localhost:8108 mise exec -- mix compile --warnings-as-errorsDATABASE_URL=postgres://postgres:postgres@localhost/vmemo_test TYPESENSE_URL=http://localhost:8108 mise exec -- mix test test/vmemo/release_test.exsruby -ryaml -e 'doc = YAML.load_file("docs/guides/self-hosting/zeabur/vmemo.yml"); services = doc.fetch("spec").fetch("services"); raise "Vmemo missing" unless services.any? { |s| s["name"] == "Vmemo" }; raise "typesense missing" unless services.any? { |s| s["name"] == "typesense" }; raise "typelens missing" unless services.any? { |s| s["name"] == "typelens" }; vmemo = services.find { |s| s["name"] == "Vmemo" }; raise "bad storage volume" unless vmemo.fetch("spec").fetch("volumes").any? { |v| v["dir"] == "/app/storage" }; typesense = services.find { |s| s["name"] == "typesense" }; raise "bad typesense volume" unless typesense.fetch("spec").fetch("volumes").any? { |v| v["dir"] == "/data" }; puts services.map { |s| s["name"] }.join(",")'git diff --checkdocker run --rm --platform linux/amd64 elixir:1.19.5-otp-28 sh -lc 'apt-get update -y >/dev/null && apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 libtinfo6 locales ca-certificates imagemagick nginx >/tmp/apt-install.log && nginx -v'docker run --rm --platform linux/arm64 elixir:1.19.5-otp-28 sh -lc 'apt-get update -y >/dev/null && apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 libtinfo6 locales ca-certificates imagemagick nginx >/tmp/apt-install.log && nginx -v'Related
ghcr.io/thaddeusjiang/vmemo:2026.7.1-rc.1Background (Screenshots)
ts_schema_migrations时econnrefused并重启。/data/db/*.ldbstore corruption 并终止。Notes
2026.7.1-rc.1release/tag 已经由失败 run 创建,并指向旧 commitab8b88f。2026.7.1-rc.2,不要直接重跑旧 run。/data的 volume 后重启。/datavolume 备份;清空 Typesense 后旧图片/笔记需要重新同步到搜索索引。