docs: add self-hosting backup guide#338
Conversation
|
@sanmaxdev is attempting to deploy a commit to the jo-duchan's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (2)
📝 WalkthroughWalkthroughAdds backup documentation for self-hosted relay data in English and Korean, including ChangesSelf-hosted relay backup guidance
Estimated review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
docs/guide/self-hosting.md (1)
293-333: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winState the Litestream ownership boundary explicitly.
This section shows how to install and run Litestream, but it never says tapflow does not bundle or supervise it. Add that one sentence so the operational contract is unambiguous.
Suggested wording
+[Litestream](https://litestream.io/) is an external process; tapflow does not bundle or manage it. [Litestream](https://litestream.io/) streams SQLite WAL changes to object storage such as AWS S3, Cloudflare R2, Backblaze B2, or any S3-compatible endpoint. It does not require tapflow schema changes or a separate database server.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/guide/self-hosting.md` around lines 293 - 333, The Litestream setup section should explicitly state that tapflow does not bundle, install, or supervise Litestream itself. Add a single sentence near the Litestream install/run steps in the self-hosting guide, using the existing Litestream and tapflow relay setup context, to make it clear that operators are responsible for managing Litestream as a separate process.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/guide/self-hosting.md`:
- Around line 279-289: The self-hosting backup section hardcodes
`.tapflow-data/` instead of the effective data directory, which can mislead
operators on installs that override `local.dataDir` via `TAPFLOW_DATA_DIR`.
Update the wording in the self-hosting guide to refer to the resolved data dir
from `tapflow.config.json`/`config.ts`, and keep `.tapflow-data/` only as the
default example while preserving the inventory entries for `tapflow.db`, WAL
files, uploads, recordings, and secrets.
---
Nitpick comments:
In `@docs/guide/self-hosting.md`:
- Around line 293-333: The Litestream setup section should explicitly state that
tapflow does not bundle, install, or supervise Litestream itself. Add a single
sentence near the Litestream install/run steps in the self-hosting guide, using
the existing Litestream and tapflow relay setup context, to make it clear that
operators are responsible for managing Litestream as a separate process.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: eb3052f5-df3f-4a61-9941-c3a4119ccb8f
📒 Files selected for processing (3)
CHANGELOG.mddocs/guide/self-hosting.mddocs/ko/guide/self-hosting.md
|
Updated the backup section to use the resolved data directory, and clarified that Litestream runs as a separate process. Rechecked:
|
jo-duchan
left a comment
There was a problem hiding this comment.
Checked the paths and behavior against the relay code — everything lines up:
- data dir default
.tapflow-data/and theTAPFLOW_DATA_DIRoverride (config.ts) tapflow.db+ the WAL sidecars, since the relay opens the DB in WAL mode (db.ts,journal_mode = WAL)uploads/,recordings/,.env, andjwt-secretall resolve under the data dir- the table list (accounts/apps/builds/sessions/comments/tokens/settings) matches the migrations
The "back up the WAL files too, or let Litestream capture them" note is the right call — a plain copy of a live SQLite db can miss un-checkpointed WAL data.
Approving. Two optional follow-ups, neither blocking:
- KO: "해석된 데이터 디렉토리" reads a bit literal for
resolved— "확정된" or "실제 사용되는 데이터 디렉토리" flows better. brew install litestreamis macOS-only, but the section above covers Linux VPS deploys. A one-line pointer to the Litestream release binary for Linux would cover those readers.
Summary
.tapflow-data/.Checklist
anyRelated
.work/docsN/A
Closes #166
Summary by CodeRabbit
local.dataDir(default.tapflow-data/), covering the SQLite database (tapflow.db+ WAL), uploaded files, recordings, and relay secrets (.env,jwt-secret).