6 ms·
I'm a huge fan of Pocketbase. Backing up the sqlite though had me more stressed than I'd prefer, and I wanted a plug-and-play way to sqlite3_rsync a backup whil
by rfc2324 10mo ago
I'm a huge fan of Pocketbase. Backing up the sqlite though had me more stressed than I'd prefer, and I wanted a plug-and-play way to sqlite3_rsync a backup while Pocketbase was running: so I've been working on this: https://sqlrsync.com https://sqlrsync.com. MVP works. Billing isn't being checked yet (be gentle but it's Cloudflare Durable Objects underneath so it should be local, fast, and resilient.) Would love feedback from anyone open to trying it.
- pzmarzly 10mo agoWhat are the differences between sqlrsync and litestream?
- threecheese 10mo agoThere’s a high level comparison here [1] but it doesn’t go into much detail about the architecture decisions. TLDR; litestream is continuous, sqlitersync is run as a command.
- rfc2324 10mo agoHere's the page threecheese meant to link: https://sqlrsync.com/help/alternatives https://sqlrsync.com/help/alternatives This is the very high level architecture: https://sqlrsync.com/help/architecture https://sqlrsync.com/help/architecture Source code to the client which explains the code running on your system and how I use safe(r) sqlite3 APIs to copy a running database: https://github.com/sqlrsync/client https://github.com/sqlrsync/client
- threecheese 10mo agoThank you :) so embarrassing
- trailbase 10mo agoLove seeing the love for SQLite. Personally, I've had a great experience with litestream, which will continuously replicate any changes. Are you using https://sqlite.org/rsync.html https://sqlite.org/rsync.html?
- rfc2324 10mo agoLitestream is excellent however I wanted something that I could spin up faster without as much finickyneess as setting g up and securing new S3 credentials, and ideally a way to broadcast out updates. For example I have a sqlite db in my userdir on most servers I (personally) ssh into with "things I'd like to remember" (using dnote for spaced reptition). When I make a change to that file using "dnote", sqlrsync waits until changes stop, performs the sqlite3_rsync, and Cloudflare sends a websocket message to subscribers of that file (me on other servers) to pull down updates when they can. I'd also like to add "dead man's alarms", etc. So it's bells and whistles around an easier-to-use sqlite.org/rsync.
- pdimitar 10mo agoSorry if my question is misguided: did you try SQLite3's native online backup API? I would not use raw file access knowing they have that.
- rfc2324 10mo agoI'm aware of it but was wanted to create something that I can just quickly point at a running system and make a backup. This is a narrower use case and I accept that it's not for everyone.
- pdimitar 10mo agoI understand but in this case the quicker solution has potentially fatal flaws. With time I have learned to speed-run less things because I've been bitten by the quick and dirty solution probably at least 100 times.