
Folia 多源音乐 歌词动画 Docker Compose 部署零编译一键拉起私有音乐站【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-majorFolia 是主打全屏歌词动画的在线音乐播放器吃网易云、酷狗、QQ 音乐与 Navidrome 曲库。跟完本篇你会在 NAS 上拿到一个浏览器地址和三项能力多源在线播放、Navidrome 本地曲库、歌词动画。先看它跑起来什么样docker compose up之后浏览器访问http://NAS-IP:18080就是一台能登录、能搜、能放的在线音乐站。多源播放三个平台登录后直接搜歌开听。歌词动效播放时歌词铺满整屏做动画。本地曲库连上 NavidromeNAS 音乐变卡片。确认这就是你要的效果后进入实操全程只动 NAS 上的一个目录。开工前 15 分钟体检目标是排除一切会让后面命令翻车的因素。软硬件门槛Docker Engine 24docker compose version是 v2NAS 有可写目录18080、13000 端口没被占用终端能执行openssl浏览器为桌面版 Chromium 系功能体验完整。最小文件集新建空目录如docker/folia-docker从仓库下载两个文件放进去文件一句话作用compose.yaml定义 6 个容器的完整栈deploy/docker/.env.example环境变量模板复制后改名为.env再填值就这两个文件其余全部由镜像承担日后升级也只替换它们。生成必填令牌openssl rand -hex 32 把输出的随机串粘贴进.env的SYNC_TOKEN它是 Sync Server 校验客户端身份用的。这一项没填时docker compose config会直接报错拒跑省得你启动后才发现。三步把服务拉起来Step 1校验配置不报错docker compose config这一步只做解析变量齐不齐、语法对不对。漏填SYNC_TOKEN或镜像命名空间这里就会被拦下。预期输出渲染后的完整编排无报错。Step 2拉取全部镜像docker compose pull一条命令取回网关、backend、三个平台接口和 sync-server 共 5 个镜像耗时取决于网速。预期每个镜像依次显示Pulled。Step 3启动并等健康检查全过docker compose up -d --wait--wait等每个服务的healthcheck通过才返回不用自己猜启动时机FOLIA_IMAGE_NAMESPACE决定从哪个镜像空间拉取缺失时整个栈拒跑。预期命令正常返回无服务卡在starting。三条都满足就算部署成功docker compose ps里 6 个容器全部healthy浏览器打开http://NAS-IP:18080看到 Folia 首页curl http://NAS-IP:13000/health返回正常Sync Server 就绪。上线后立刻要做的两件事第一件事接入 Navidrome 曲库。Folia 本身不存音乐文件本地音乐由 Navidrome 托管。进 Folia 设置页的 Navidrome 入口填三个字段Web 地址形如http://NAS-IP:4533、账号、密码连接成功后专辑、歌单、文件夹会变成卡片搜索、播放、歌词匹配直接可用。第二件事选填项。GEMINI_API_KEY/OPENAI_API_KEY控制 AI 主题生成与 AI 歌词分词不填不影响在线搜索、播放和歌词显示。.env里NAVIDROME_URL、NAVIDROME_USERNAME、NAVIDROME_PASSWORD三项齐填后新打开的浏览器会自动登录该 Navidrome省得每台设备都手动输一遍。⚠️ 能打开 Folia 页面的人都能读到这组凭据建议专门建一个账号给 Folia 用。6 个容器各干什么30 秒架构你正在浏览器里打开的就是 gateway 吐出来的页面容器角色对外暴露gateway入口与路由✅ 18080backendWeb API否netease-api网易云接口否kugou-api酷狗接口否qq-apiQQ 音乐接口否sync-server数据同步✅ 13000路由规则一句话/netease/走 netease-api/kugou/走 kugou-api/qq/走 qq-api/api/走 backend其余落前端页面兜底。三个平台接口和 backend 都待在内网段里只有 gateway 与 sync-server 对外开端口任何设备都绕不过网关直连平台 API。所有容器设了只读文件系统并禁提权容器被打穿也写不进文件、提不了权。接外网之前HTTP 页面不算浏览器的安全上下文本地音乐目录导入、PWA 离线安装、音频输出设备选择会被直接关掉。想让这些能力可用就让 NAS 上现成的反向代理终结 HTTPShttps://folia.example.com/ - http://127.0.0.1:18080 https://sync.example.com/ - http://127.0.0.1:13000证书要是浏览器信任的完整链自签名不算数反代要转发X-Forwarded-Host、X-Forwarded-Proto: https、X-Forwarded-For并把 HTTP 重定向到 HTTPSFolia 前面挂了代理时把代理自身地址填进FOLIA_TRUSTED_PROXIESgateway 才能还原真实客户端 IP.env的FOLIA_HTTP_BIND、FOLIA_SYNC_BIND改为127.0.0.1流量只从代理进来。⚠️ origin 切换后原 HTTP 下的 IndexedDB、登录态、本地曲库索引不会自动迁移需要重新来过。日常运维四件套升级latest不会自动取新镜像手动执行——docker compose pull docker compose up -d回退.env固定FOLIA_STACK_VERSION1.2.0现行版本号见 deploy/docker/VERSION再跑一遍上面两条。备份停服、打包、启服顺序不能少——docker compose stop sync-server tar -czf folia-sync-backup.tar.gz ./data/sync docker compose start sync-serverSQLite 写入中途打包会损坏所以先停再压。查问题docker compose ps docker compose logs --tail200 gateway backend sync-server curl http://NAS-IP:18080/healthz先 ps 看谁不健康再 logs 翻日志最后 curl 看网关应答顺序别乱。更完整的变量说明见 deploy/docker/README.md。环境变量速查镜像与端口变量默认值改之前要知道什么FOLIA_IMAGE_NAMESPACEpapersman无必填缺了整个栈拒跑FOLIA_STACK_VERSIONlatestlatest 不自动更新回退改它FOLIA_HTTP_PORT/FOLIA_SYNC_PORT18080/13000仅本机冲突时才要改FOLIA_HTTP_BIND/FOLIA_SYNC_BIND0.0.0.0走代理改127.0.0.1AI 与行为变量默认值改之前要知道什么FOLIA_AI_PROVIDERgoogle改完需重建 gateway 与 backendFOLIA_FORWARD_CLIENT_IPfalse打开后登录地点会显示局域网ENABLE_GENERAL_UNBLOCKfalse网易云通用解锁默认关同步服务与数据源变量默认值改之前要知道什么SYNC_TOKEN无必填至少 8 位缺了拒跑FOLIA_SYNC_DATA_DIR./data/sync备份打包的就是这个目录NAVIDROME_PRESET_ALLOWprivate控制谁能读预置凭据收尾整套私有音乐站的持有成本是一个目录里的两个文件和 6 个容器。浏览器地址发到群里之后手机、平板、电视也能用同一个入口直接连上。【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考