Folia sync-server 部署完全指南:零成本私有 AI 主题云,三种方式任选
Folia sync-server 部署完全指南零成本私有 AI 主题云三种方式任选【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-majorFolia 是一款主打歌词动画的本地音乐播放器。如果你在多台设备上用 AI 生成过主题、调好过外观又不想在每台机器上重新配置一遍可以用它自带的 sync-server 搭一个私有同步服务AI 主题与外观设置做增量同步只有改动过的内容才传输。本文带你走完从选部署方式、生成密钥到客户端配对的全过程。配好之后你在任何一台设备上的 Folia 首页看起来都是同一套风格。先搞懂它同步什么两块数据 增量比对 同步的内容就两类契约定义在 src/services/sync/syncTypes.ts外观设置快照可视化模式、背景与透明度、字幕样式、歌词字体、首页布局轮播/网格等两端按时间戳比新旧新的赢不会出现互相覆盖AI 主题库按指纹把主题散列进 256 个 bucket同步时先只比对每个桶的摘要哈希哪个桶变了才拉取内容逻辑见 syncMerkle.ts几百首歌的主题实际只传差量Folia 是「本地优先」设计主题数据存在本机 IndexedDB 里同步服务只是中转不碰你的曲库。所以这个服务只搬「长什么样」不搬「有什么歌」。选部署路线Workers、Docker、Node 三方案对比三种方式共用同一套路由和数据模型sync-server/src/app.ts换部署方式对客户端完全透明按手里有什么选就行方案环境要求成本数据落在哪适合谁Cloudflare WorkersCloudflare 账号 本机 Node.js 24免费Cloudflare D1 数据库没有服务器的大多数人DockerVPS/NAS 上有 Docker自备机器sync-server/data/folia-sync.dbSQLite有常开机器的想顺手起整套 Web 栈Node.js 自托管Node.js 24自备机器本地 SQLiteNAS 或不想装 Docker 的环境部署前先备好两把钥匙密钥用途必填建议SYNC_TOKEN客户端读写同步数据的鉴权凭证是8~32 位随机字符少于 8 位服务直接拒启防字典爆破DASHBOARD_TOKEN打开隐藏的网页状态看板否16 位以上随机字符生成方法浏览器按F12运行crypto.randomUUID()或终端敲openssl rand -hex 16。⚠️Cloudflare 部署后 Token 是加密存储、无法回读的部署前先把值存进密码管理器。首选零成本Cloudflare Workers 一条脚本走完本机有 Node.js 24 即可。先拿到源码git clone https://gitcode.com/GitHub_Trending/fo/folia-major cd folia-major然后跑仓库自带安装脚本cd sync-server bash ./install.shWindows 用 PowerShell 执行.\install.ps1。菜单里输3进入 Workers 流程之后脚本会自动串起来创建 D1 数据库 → 生成wrangler.local.toml→ 提示你输入SYNC_TOKEN→ 自动生成DASHBOARD_TOKEN并注入 → 发布上线全程只问你两次输入。验证结束后终端会打印 Worker 域名和DASHBOARD_TOKEN明文只显示这一次立刻抄进密码管理器。脚本生成的wrangler.local.toml含你的数据库 ID已被 gitignore别提交到任何仓库。自托管备选Docker 一条命令或 Node 自托管Docker 方案在sync-server/下建.env写入SYNC_TOKEN可选DASHBOARD_TOKEN回到仓库根目录执行docker compose -f deploy/docker/compose.sync.yaml up -d --build服务映射到宿主机13000 端口SQLite 数据库落在sync-server/data/folia-sync.db配置见 compose.sync.yaml。Node 方案同样在sync-server/下建.env可加PORT默认 3000DB_PATH指数据库位置然后cd sync-server npm install npm run start:node验证两种方式起好后浏览器或 curl 访问根地址的/health返回ok: true就说明服务和 schema 版本都正常。客户端接入三步启用同步打开 Folia 的设置 → 存储设置 → 同步服务打开「启用同步服务」开关「Sync Server 地址」填根地址Cloudflare 域名或http://NAS-IP:13000别带路径「Bearer Token」填SYNC_TOKEN点保存点「测试」——按钮显示连接成功即打通再点「同步 AI 主题」手动跑一次之后再启动 Folia每次都会自动做增量同步界面上能看到「上次同步」的时间戳不用再做任何操作。排障对照表连接失败与密钥问题状况去哪里查测试连接不通三查地址是否为不带路径的根地址、Token 是否完整复制、Docker 的 13000 端口是否真的暴露到网卡服务启动即报错SYNC_TOKEN少于 8 位会被强制拒绝启动换长一点的重填Token 忘了明文只在部署时显示一次无法回读只能重新部署注入新值且所有客户端要同步换成新 Token服务暴露公网在 WAF/Nginx 层加频率限制除/health外所有接口都要鉴权泄露面可控 三个容易忘的细节隐藏看板配了DASHBOARD_TOKEN时浏览器访问你的域名/?token你的DASHBOARD_TOKEN可看主题数量和最近更新时间页面只读开着无妨zip 备份同步设置页有「导出 zip / 导入 zip」整份同步库可备份成文件甚至不经服务端在两台电脑间直接迁移若同步已启用导入内容会顺手推上服务端。Docker 部署直接打包data/目录即可Cloudflare 方案建议定期用客户端导出留底更新重发Workers 方案只更新代码时直接重跑部署命令无需重建 D1 或重设 Secret全部走通之后电脑上新生成一个 AI 主题手机打开 Folia 就是同一套歌词动画、字体和背景外观从此只调一次。想深挖协议细节完整接口说明在 sync-server/README.md客户端协调逻辑集中在 src/services/sync/。【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考