ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

多设备同步实战:手把手搭建budgetzero+CouchDB同步服务器

多设备同步实战:手把手搭建budgetzero+CouchDB同步服务器 多设备同步实战手把手搭建budgetzeroCouchDB同步服务器【免费下载链接】budgetzeroOpen-source, self-hosted, zero-based budgeting.项目地址: https://gitcode.com/gh_mirrors/bu/budgetzerobudgetzero 是一款免费、开源、注重隐私的零基预算工具所有数据默认存储在浏览器本地的 PouchDB 中这意味着换个电脑、手机或浏览器预算数据就会各过各的。本教程将手把手教你搭建一台CouchDB 同步服务器让 budgetzero 实现真正的多设备同步在公司电脑记账回家打开家用电脑数据自动一致彻底告别手动导出导入。全程使用 Docker新手也能 10 分钟搞定为什么 budgetzero 需要 CouchDB 同步服务器budgetzero 采用离线优先Offline-first的存储设计数据保存在浏览器本地数据库中天然支持离线记账、响应极快隐私性也更好——没有任何追踪器。但代价是数据被锁在本地。想要多设备共享一份预算数据就需要一个所有设备都能访问的中转站。budgetzero 内置了与CouchDB 同步服务器对接的能力本地 PouchDB 会与远程 CouchDB 进行双向实时同步live sync 自动重试任何一端的数据变化都会自动传播到其他设备。这套方案的核心机制可以参考项目源码 pouchdb-module.js其中startRemoteSyncToCustomURL正是负责建立本地数据库与远程 CouchDB 连接、并开启实时同步的核心逻辑。搭建前需要准备什么一台能长期运行的服务器云服务器、NAS、家里的旧电脑均可或一台安装了 Docker 的电脑Docker 与 Docker Compose没有也没关系教程只用基础命令了解如何查看服务器 IP 地址后续同步 URL 会用到第一步用 Docker 快速搭建 CouchDB 同步服务器CouchDB 官方提供了 Docker 镜像这是最快的搭建方法。在服务器上执行一条命令即可启动docker run -d \ --name budgetzero-couchdb-sync \ -e COUCHDB_USERadmin \ -e COUCHDB_PASSWORD你的密码 \ -p 5984:5984 \ couchdb:latest解释一下关键参数COUCHDB_USER/COUCHDB_PASSWORD设置管理员账号密码请务必改成强密码这是同步服务器的安全底线-p 5984:5984把 CouchDB 默认端口映射到宿主机客户端正是通过这个端口访问数据库启动后访问http://服务器IP:5984/_utils就能看到 CouchDB 自带的 Fauxton 图形化管理界面说明同步服务器已经成功运行。第二步配置 CORS开启跨域访问budgetzero 是网页应用部署在 8080 端口而 CouchDB 在 5984 端口两者属于跨域请求必须为 CouchDB 开启 CORS 才能正常同步。在 Fauxton 管理界面中操作点击顶部菜单Configuration配置找到CORS选项勾选Enable CORS允许所有域名访问保存生效这一步不做budgetzero 会一直报连接失败是新手最容易踩的坑之一务必先完成。⚠️第三步在 CouchDB 中创建预算数据库回到 Fauxton 的Databases数据库页面点击右上角Create Database新建一个数据库名字可以自定义比如mybudget。记下这个名字它是同步 URL 的最后一部分后续每个设备都会通过它读写同一份预算数据。第四步在 budgetzero 中配置同步 URL现在打开 budgetzero无论你用的是 Docker 自托管版还是官方在线版进入Settings设置页面展开Advanced Sync高级同步区域填入远程 CouchDB 地址点击Set Custom Sync URL即可。同步 URL 有两种写法取决于你的 CouchDB 是否开启了权限校验# 本机测试无需密码 http://localhost:5984/mybudget # 远程服务器推荐带账号密码 http://admin:你的密码192.168.1.10:5984/mybudget配置完成后budgetzero 会立即尝试连接并在页面底部提示同步状态Last sync 会显示最近一次同步时间。同步界面相关的完整字段定义在 Settings.vue 的 Advanced Sync 面板中源码级的同步逻辑则集中在 pouchdb-module.js 的startRemoteSyncToCustomURL与initiateSync动作里。第五步实现多设备同步的最终验证同步服务器搭建完毕接下来只需在每个需要同步的设备上重复第四步打开 budgetzero → 设置 → Advanced Sync → 填入同一个同步 URL。完成配置后你可以做个测试在电脑 A 上记一笔支出稍等片刻打开电脑 B或手机浏览器你会发现这笔交易已经自动出现在账本里。budgetzero 的同步是实时双向的无论在哪台设备上记账数据都会自动汇聚到 CouchDB 服务器再分发到其他设备全程无需手动操作。常见问题与排查技巧同步一直失败检查 CORS 是否已开启第二步这是最常见的原因确认服务器防火墙放行了 5984 端口检查同步 URL 中的密码是否包含特殊字符若包含需要 URL 编码只想用本地模式不想同步在 Settings 的 Advanced Sync 中点击Clear即可清除同步配置budgetzero 会退回纯本地模式数据完全由你掌控。同步后数据乱了budgetzero 使用 PouchDB/CouchDB 的文档版本机制_rev自动处理冲突一般无需干预。若想保险起见可以定期使用 Settings 中的Backup功能导出备份。结语一套服务器全家多设备同步通过本文你已经完成了 budgetzero 多设备同步服务器的搭建用 Docker 拉起 CouchDB、开启 CORS、创建数据库、填入同步 URL四个步骤即可让所有设备共享同一份零基预算数据。整个过程完全自托管、免费、无广告数据牢牢掌握在自己手里。budgetzero 的完整部署方案Docker 镜像启动、nginx 配置、同步服务器搭建都可以在项目根目录的 README.md 和 Dockerfile 中找到。现在就动手搭建属于你的同步服务器吧让记账这件事在任何设备上都无缝衔接【免费下载链接】budgetzeroOpen-source, self-hosted, zero-based budgeting.项目地址: https://gitcode.com/gh_mirrors/bu/budgetzero创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表