Navidrome 自建家庭音乐服务
标签搜索
侧边栏壁纸
  • 累计撰写 7 篇文章
  • 累计收到 1 条评论

Navidrome 自建家庭音乐服务

lxp
lxp
2024-08-02 / 0 评论 / 23 阅读 / 正在检测是否收录...

客户端的选择

这里直接选用了国人开发的 音流 作为客户端,优势是各平台都支持,包括 MAC、IOS、安卓、安卓 TV,支持通过接口调用获取歌词和封面。同时可以发动钞能力,支持文件夹浏览播放、多线路配置。

服务端的选择

本篇只讨论免费的服务端,jellyfin 和 navidrome。都有尝试搭建过,不过我的 jellyfin 主要用来观影,还是专门搭建了 navidrome 用作音乐服务端。优势是 GO 开发,简单轻量。这里贴一个各个服务端的对比图。
 title=

服务端搭建示例

这里给出一个 docker compose 文件示例,我的家庭网络是存储和计算在两台机器上,所以挂载目录上使用的 sshfs 插件来进行一个远程目录的挂载。在使用sshfs之前你可能需要搜索一下docker如何安装sshfs插件。使用方式可以参考下面示例的结尾注释部分,在volumes声明sshfs远程目录后,可以在 service.navidrome.volumes 直接使用sshfs挂载时声明的名称,也可以参考下面示例中 service.navidrome.volumes 注释部分

音乐目录和navidrome应用目录分开在两个磁盘上,以下配置文件仅做参考,实际使用可能需要网络和存储情况修改一下mount的配置。

version: "3.9"
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
  #  user: 1000:1000
    ports:
      - 4533:4533
    volumes:
       - /app/navidrome/data:/data
       - /data/music:/music
     # - data:/data
     # - music:/music
    environment:
      #程序默认语言
      - ND_DEFAULTLANGUAGE=zh-Hans
      #启用GRAVATAR头像
      - ND_ENABLEGRAVATAR=true
      #关闭转码,如需要转码请设置为true
      - ND_ENABLETRANSCODINGCONFIG=false
      #SPOTIFY相关
      # - ND_SPOTIFY_ID=
      # - ND_SPOTIFY_SECRET=
      #LAST.FM相关
      # - ND_LASTFM_LANGUAGE=zh
      # - ND_LASTFM_APIKEY=
      # - ND_LASTFM_SECRET=
      #PROXY相关
      # - HTTP_PROXY=http://proxy:port
      # - HTTPS_PROXY=http://192.168.1.2:7890
    restart: always
#volumes:
#  data:
#    driver: vieux/sshfs
#    driver_opts:
#      sshcmd: [email protected]:/share/CACHEDEV3_DATA/media/software/navidrome/data
#      password: xxxx
#  music:
#    driver: vieux/sshfs
#    driver_opts:
#      sshcmd: [email protected]:/share/CACHEDEV4_DATA/private/media/music
#      password: xxx
#      allow_other: ""

其他可能存在的问题

如果挂载的仅仅是本地目录不会有太多的问题,使用 sshfs 挂载 NAS类的远程目录比较容易遇见权限问题,这种情况下可以参考示例文件的 volumes.*.driver_opts.allow_other 配置。

0

评论

博主关闭了当前页面的评论