跨平台音乐播放器Feishin
什么是 Feishin ?
Feishin
是一款现代的自托管音乐播放器,支持多种音乐来源和功能。它是由Sonixd
的重构版本发展而来,能够与Navidrome
或Jellyfin API
音乐服务器兼容,目前还不支持Subsonic API
。Feishin
具有现代化的用户界面,支持MPV
和Web
播放器后端,并且提供智能播放列表编辑和歌词同步等功能。此外,Feishin
支持跨平台使用,包括桌面客户端、Web
版本和Docker
部署方式,适用于本地音乐库和在线流媒体。
软件功能:
-
MPV
播放器后端 - 网络播放器后端
- 现代用户界面
- 将播放记录发送到您的服务器
- 智能播放列表编辑器(
Navidrome
) - 支持同步和非同步歌词
Feishin
是一个跨平台的音乐播放器,除了支持支持 Docker
部署外,还支持 Linux
、MacOS
和 Windows
平台
准备
Feishin
只是个音乐播放器,需要配合 Navidrome
和 Jellyfin
音乐服务器使用。官方的示例是针对 Jellyfin
的,所以老苏研究了一下 Navidrome
的设置
首先当然是需要先安装 Navidrome
文章传送门:音乐流媒体服务器Navidrome
如果你之前没安装过,可能用 docker cli
更快捷
# 新建文件夹 navidrome 和 子目录
mkdir -p /volume1/docker/navidrome/{data,music}
# 进入 navidrome 目录
cd /volume1/docker/navidrome
# 修改目录权限
chmod a+w data
# 运行容器
docker run -d \
--restart unless-stopped \
--name navidrome \
--user 1000:1000 \
-p 4533:4533 \
-v $(pwd)/data:/data \
-v $(pwd)/music:/music:ro \
-e ND_ENABLETRANSCODINGCONFIG=true \
-e ND_SESSIONTIMEOUT=72h \
deluan/navidrome
可变 | 值 |
---|---|
ND_SESSIONTIMEOUT | Navidrome 将等待多长时间后关闭网页用户界面的空闲会话 |
ND_ENABLETRANSCODINGCONFIG | 在用户界面中启用转码配置 |
更多的Navidrome
的环境变量设置,请参考官方文档: https://www.navidrome.org/docs/usage/configuration-options/
music
目录中正好了留了之前的一张无损的专辑
安装
在群晖上以 Docker 方式安装。
官方的镜像没有发布在 docker hub
,而是在 ghcr.io
,所以直接用命令行来安装。
在 SSH
客户端中依次执行下面的命令
# 下载镜像
docker pull ghcr.io/jeffvli/feishin:latest
本文写作时,
latest
版本对应为0.10.1
;
docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 运行容器
docker run -d \
--name feishin \
--restart unless-stopped \
-p 9180:9180 \
-e SERVER_NAME=navidrome \
-e SERVER_LOCK=true \
-e SERVER_TYPE=navidrome \
-e SERVER_URL='http://192.168.0.197:4533' \
-e PUID=1000 \
-e PGID=1000 \
-e UMASK=002 \
-e TZ=Asia/Shanghai \
ghcr.io/jeffvli/feishin:latest
可变 | 值 |
---|---|
SERVER_NAME | 定义服务器的名称 |
SERVER_LOCK | 当设置为 true 且已设置名称/类型/URL 时,仅可以切换用户名/密码 |
SERVER_TYPE | 支持 jellyfin 和 navidrome |
SERVER_URL | jellyfin 或 navidrome 服务器的完整 URL ,包括协议和端口 |
PUID | UserID ,默认设为 1000 |
PGID | GroupID ,默认设为 1000 |
UMASK | umask=002 意味着新创建的文件和目录默认会关闭写权限,但不会关闭执行权限(对于目录) |
TZ | 时区设置 |
docker-compose 安装
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
feishin:
image: 'ghcr.io/jeffvli/feishin:latest'
container_name: feishin
restart: unless-stopped
ports:
- 9180:9180
environment:
- SERVER_NAME=navidrome
- SERVER_LOCK=true
- SERVER_TYPE=navidrome
- SERVER_URL=http://192.168.0.197:4533
- PUID=1000
- PGID=1000
- UMASK=002
- TZ=Asia/Shanghai
然后执行下面的命令
# 新建文件夹 feishin
mkdir -p /volume1/docker/feishin
# 进入 feishin 目录
cd /volume1/docker/feishin
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:9180
就能看到主界面
Open menu
--> Manage servers
Add Server
因为环境变量已经设置了类型和地址,所以这里只要填 Username
和 Password
即可
点 Add
添加
为了获得最佳体验,在创建服务器时请选择“保存密码”,并在
Navidrome
环境变量中将SessionTimeout
设置为更大的值(例如72
小时)。
点 Go back
会进入主界面
选中专辑进行播放
在 Navidrome
的客户端中,会看到 Feishin
的使用记录
参考文档
jeffvli/feishin: A modern self-hosted music player.
地址:https://github.com/jeffvli/feishin/
Feishin
地址:https://feishin.vercel.app