fix(docker): correct compose example after actual e2e test#853
Conversation
End-to-end smoke test against the published ghcr.io/lobu-ai/lobu-app image (PR #850's sample compose) surfaced two issues: 1. `/var/lib/postgresql/data` mount fails on pgvector:pg18-trixie — PG18+ rejects /data subdir as "unused mount/volume" and refuses to start. The correct mount is the parent dir /var/lib/postgresql. This was in the user's original #766 compose and I broke it during #850; reverting. 2. The published image is amd64-only — Apple Silicon users hit "no matching manifest for linux/arm64" on `docker compose up`. Add a commented-out `platform: linux/amd64` line they can uncomment to run via Rosetta, plus a note in docs/DOCKER.md. Multi-arch build is a follow-up. E2E verified after these fixes: containers boot cleanly, migrations applied, 16 providers loaded, `GET /healthz` → `{"status":"ok"}`, `GET /` returns the admin SPA HTML. Refs #766.
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
Fixes two real bugs in the sample compose shipped in #850 that I should have caught before merging — applying the e2e-before-merge rule that #837 codified hours earlier. My bad.
Reproducer (the test #850 should have included)
Before this fix
Postgres logs (truncated):
And on Apple Silicon, even before postgres tries to start:
After this fix
Server logs end with:
GET /healthz→{"status":"ok",...}.GET /returns 3211 bytes of SPA HTML. All 16 bundled providers loaded, 22 migrations applied cleanly.The two fixes
Volume mount:
lobu_pgdata:/var/lib/postgresql/data→lobu_pgdata:/var/lib/postgresql. PG18+ uses major-version-specific subdirectories under the parent dir, so mounting/datadirectly conflicts with that layout and PG refuses to start. The user's original Docker deployment crashes with no error message — impossible to debug locally #766 compose had this right; I "fixed" it during docs: docker-compose example + self-hosting guide #850 and broke it.Apple Silicon
platform: linux/amd64: the published image is amd64-only. Added a commented-outplatform:line users can uncomment, plus a note indocs/DOCKER.md. Multi-arch image build is a follow-up.Test plan
docker compose -f docker-compose.example.yml configvalidates after edits.GET /healthz200 →GET /returns SPA → no errors in lobu-app logs.Refs #766.