version: '3.8'
services:
# 歌词 API 服务
lyricapi:
container_name: lyricapi
ports:
- 28883:28883
volumes:
- /vol1/1000/music2/novel:/music
# 这里映射 NAS 的音乐存放目录
build:
context: .
dockerfile: Dockerfile
image: lyricapi:latest
# Navidrome 音乐服务
navidrome:
container_name: navidrome
image: deluan/navidrome:latest
ports:
- "4533:4533"
restart: unless-stopped
environment:
# 扫描与同步优化(核心改进)
ND_WATCHLIBRARY: "true" # 实时监控文件变化(Linux 有效)
ND_SCANINTERVAL: "1m" # 缩短扫描间隔至1分钟,加快同步
ND_SCANONSTARTUP: "true" # 启动时自动扫描一次
ND_FORCEFULLSCANONSTARTUP: "false" # 启动不强制全量扫描(加快启动)
# 基础功能配置
ND_DEFAULTLANGUAGE: zh # 应用默认语言为中文
ND_LOGLEVEL: info # 日志级别保持info
ND_SESSIONTIMEOUT: 24h # 会话超时时间保持24小时
ND_BASEURL: "" # 基础URL保持默认
TZ: Asia/Shanghai # 时区设置保持上海
# 媒体功能配置
ND_ENABLEDOWNLOADS: "true" # 启用下载功能
ND_ENABLEFAVOURITES: "true" # 启用收藏夹
ND_ENABLESHARING: "true" # 启用共享功能
ND_ENABLESTARRATING: "true" # 启用星级评分
ND_ENABLETRANSCODINGCONFIG: "true" # 启用转码配置
ND_TRANSCODINGCACHESIZE: "4000M" # 转码缓存大小 4GB
ND_IMAGECACHESIZE: "2000M" # 图片缓存大小 2GB
# 性能优化
ND_CACHEARTWORK: "true" # 启用封面缓存
ND_**YZEMETADATA: "true" # 自动分析元数据
# 安全加固
ND_ENABLEREGISTRATION: "false" # 禁用新用户注册(仅管理员可创建)
ND_MINSCANINTERVAL: "30s" # 最小扫描间隔(防止频繁扫描)
volumes:
- ./data:/data # 数据存储目录
- /vol1/1000/nasdrv/music2/novel:/music:ro # 音乐目录(只读权限,更安全)
# 用户 ID 映射(解决权限问题)
user: "1000:1000"
快速开始 | LrcAPI使用文档
快速开始
公开API
如果无法私有部署,可以先尝试使用公开API。注意:公开API通过酷狗等接口获取歌词,可能响应较慢且并不完全准确。
歌词API地址:https://api.lrc.cx/lyrics
封面API地址: https://api.lrc.cx/cover
二进制文件
上传至运行目录,./lrcapi --port 8080 --auth 自定义一个鉴权key
Python源文件
拉取本项目;或者下载后上传至运行目录,解压tar.gz
安装依赖:pip install -r requirements.txt
启动服务:python3 app.py --port 8080 --auth 自定义一个鉴权key
Docker部署方式
docker run -d -p 28883:28883 -v /home/user/music:/music hisatri/lrcapi:latest
或者,请指定一个Tag(推荐)
docker run -d -p 28883:28883 -v /home/user/music:/music hisatri/lrcapi:1.5.3
如果你正在使用Navidrome Docker,请将 /home/user/music:/music 中的 /home/user/music 修改为你在Navidrome中映射的主机路径;
换句话说,-v 参数与Navidrome保持一致即可。
如果你正在使用Navidrome,请将你的音乐文件目录映射到Docker内目录;例如如果你音乐存储的目录是 /www/path/music,请将启动命令中的映射修改为 /www/path/music:/www/path/music
然后访问 http://0.0.0.0:28883/lyrics 或新版API http://0.0.0.0:28883/jsonapi
图片API地址为 http://0.0.0.0:28883/cover
注意:图片返回目前采用反向代理策略,可能存在一定的上下行流量消耗和延迟。
支持使用Nginx或Apache进行反向代理与SSL。
生成命令
如果你还是看不懂,不如尝试以下功能:
Command Generator
你采用的部署方式是:命令行DockerDocker-compose是否更改默认的端口(默认端口为28883):[ ] 为API设置密码(留空即不设置):[ ] #### Generated Command: