Folia跨设备同步完整教程三步部署sync-server让主题外观处处一致【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major换一台手机或电脑就要把主题和外观重调一遍——Folia 的官方同步服务sync-server就是为这个痛点准备的。Folia 是本地优先的AI 主题和外观设置先存在本机sync-server 只是你自己部署的私人数据中转站。先部署一个免费的 sync-server再在客户端做两步配置就能完成跨设备同步。先搞懂 sync-server 同步什么外观快照与主题库增量比对同步协议定义在 src/services/sync/syncTypes.ts数据分两类外观设置快照可视化模式、背景与透明度、字幕样式、歌词字体、首页布局等。每条记录带时间戳两端各存一份按时间戳判断哪端更新AI 主题库主题按指纹分入256 个 bucket只比对 bucket 摘要哈希有变化的主题才传输增量逻辑见 src/services/sync/syncMerkle.ts这就是几百首歌曲的主题也能同步得快的原因绝大多数 bucket 两端哈希一致直接跳过只有差量真正走网络。服务端批量写入同样按时间戳把关旧数据不会覆盖新数据两端互踩不了。选对部署路线Cloudflare、Docker、Node.js 三方案对比部署路线适用人群成本前置条件Cloudflare Workers推荐没有服务器的人、绝大多数新手免费Cloudflare 免费额度Cloudflare 账号、Node.js 24Docker有 VPS/NAS 的用户机器成本Docker 环境Node.js 自托管NAS/家庭服务器机器成本Node.js 24、npm三条路线共用同一套路由Node 入口 sync-server/src/node.tsCloudflare 入口 sync-server/src/cloudflare.ts核心路由 sync-server/src/app.ts。切换部署方式不影响客户端。先生成两个 Token一键生成并存进密码管理器无论走哪条路线先备好两个 TokenToken用途必填要求SYNC_TOKEN客户端鉴权Folia 靠它读写同步数据必填至少 8 位随机字符DASHBOARD_TOKEN访问隐藏的网页状态看板选填建议 16 位以上按F12打开浏览器控制台运行这条命令即可得到一个高强度随机串crypto.randomUUID()Linux/macOS 终端运行openssl rand -hex 16 两个 Token 立刻存进密码管理器。Cloudflare 部署后 Token 是加密状态无法回读。⚠️ 服务端强制要求SYNC_TOKEN长度不小于 8 位否则拒绝启动——这是为了防止字典爆破。一键部署 Cloudflare Workers 版 sync-server只需输入两次先获取源码git clone https://gitcode.com/GitHub_Trending/fo/folia-major进入目录运行安装脚本Windows 在 PowerShell 执行.\install.ps1cd folia-major/sync-server bash ./install.sh脚本会给出三行菜单输入3进入 Workers 部署流程。之后它自动完成创建 D1 数据库 → 生成wrangler.local.toml→ 提示你输入SYNC_TOKEN→ 自动生成并注入DASHBOARD_TOKEN→ 发布上线。全程只需两次输入。部署完成后脚本输出Worker 域名和DASHBOARD_TOKEN后者只显示一次立即保存。⚠️ 生成的wrangler.local.toml含你的数据库 ID不要提交到仓库配置模板见 sync-server/wrangler.toml。Docker 一键启动留给 VPS/NAS 用户只部署同步服务时用精简配置 deploy/docker/compose.sync.yaml在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。要部署 Folia 完整 Web 栈含在线音乐改用 deploy/docker/compose.yaml说明见 deploy/docker/README.md。Node.js 自托管留给 NAS 与家庭服务器需要 Node.js 24底层用 better-sqlite3。在sync-server/.env配置SYNC_TOKEN、PORT默认 3000、DB_PATH然后cd sync-server npm install npm run start:node客户端接入只需两步填同步地址与 Bearer Token服务跑起来后在 Folia 里完成接入界面实现见 src/components/modal/settings/StorageSettingsSection.tsx打开设置 → 存储设置 → 同步服务打开「启用同步服务」开关「Sync Server 地址」填服务根地址Cloudflare 域名或http://NAS-IP:13000、「Bearer Token」填SYNC_TOKEN点击保存点击测试按钮出现绿色对勾即连通成功点击同步 AI 主题立即执行一次全量/增量同步之后每次启动 Folia 都会自动增量同步协调逻辑见 src/services/sync/syncCoordinator.ts界面会展示「上次同步」时间。别漏掉的加分项隐藏看板、zip 导入导出与 Token 丢失处理功能怎么用隐藏状态看板部署时配置了DASHBOARD_TOKEN后访问你的服务域名/?token你的DASHBOARD_TOKEN查看主题数量与最近更新时间页面只读、无敏感交互zip 导入/导出同一界面提供「导出 zip / 导入 zip」把整份同步库备份成文件不依赖服务端也能在两台电脑间迁移同步启用时导入内容也会推送到服务端数据备份Docker 部署打包FOLIA_SYNC_DATA_DIR目录即可Cloudflare 方案建议定期用客户端「导出 zip」留底端口与鉴权面只有/health免鉴权其余接口全部要求 Bearer 鉴权公网部署在边缘层WAF/Nginx加频率限制Token 丢失DASHBOARD_TOKEN明文只显示一次丢失需重新部署注入新 TokenSYNC_TOKEN同理重新生成后同步更新客户端配置完整协议与 API 细节看 sync-server/README.md同步源码集中在 src/services/sync/想深挖从这两处入手。【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考