zfuller.navidrome
navidrome
这个 Ansible 角色在 Linux 服务器上安装和配置 Navidrome 自托管音乐服务器。该角色从 GitHub 仓库下载 Navidrome 的最新版本,并设置 navidrome.toml 中的自定义配置设置,这些设置在 navidrome_config 变量中定义。它还配置了 systemd 服务。
安装完成后,您可以通过浏览器访问 Navidrome 服务器,使用服务器的 IP 地址或域名,默认端口为 4533。您需要立即设置一个管理员用户以完成首次安装。
有关更多指导,请访问 Navidrome 网站上的 入门 页面。
请注意,这不是官方的 Navidrome 角色,而是我为自己的使用而开发的个人项目,并与社区分享。
需求
Navidrome 可以单独运行,也可以与使用反向代理的网络服务器一起运行。
角色变量
您要设置的主要变量是 MusicFolder 变量。这将是您的音乐库的位置。其他所有设置都可以使用默认值。
如果您想了解更多可以添加的额外变量,请参考 配置选项 以获取更多选项和说明。
navidrome_user: www-data
navidrome_group: www-data
navidrome_release_url: https://github.com/navidrome/navidrome/releases
navidrome_temp_location: /tmp
navidrome_install_location: /opt
navidrome_config_dir: /var/lib/navidrome
navidrome_config_file: navidrome.toml
navidrome_pid_file: /var/run/navidrome.pid
navidrome_package_requirements:
- ffmpeg
# 以下仅包括 Navidrome 接受的一些配置设置。
# 根据需要可以向字典中添加其他设置。
navidrome_config:
MusicFolder: # 默认: "{{ navidrome_config_dir }}/music"
DataFolder: # 默认: "{{ navidrome_config_dir }}/data"
LogLevel: # 默认: "info"
Address: # 默认: 0.0.0.0 和 :: (所有 IP)
BaseUrl: # 默认: (空)
Port: # 默认: 4533
AuthRequestLimit: # 默认: 5
AuthWindowLength: # 默认: "20s"
AutoImportPlaylists: # 默认: true
CoverArtPriority: # 默认: cover.*, folder.*, front.*, embedded, external
CoverJpegQuality: # 默认: 75
DefaultDownsamplingFormat: # 默认: opus
DefaultLanguage: # 默认: "en"
DefaultTheme: # 默认: Dark
...
UILoginBackgroundUrl: # 默认: 从 Unsplash.com 随机音乐图片
UIWelcomeMessage: # 默认: (空)
依赖关系
无
示例剧本
- name: setup navidrom
hosts: navidrome
gather_facts: yes
vars:
navidrome_config:
EnableGravatar: true
EnableDownloads: false
ImageCacheSize: "1GB"
MaxSidebarPlaylists: 5
CoverJpegQuality: 100
DefaultLanguage: "en"
MusicFolder: /home/music
SessionTimeout: "168h"
TranscodingCacheSize: "5GB"
AuthRequestLimit: 10
AuthWindowLength: "30m"
UIWelcomeMessage: "welcome"
roles:
- role: zfuller.navidrome_role
许可证
GPL-3.0-only
作者信息
zfuller