
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
LinuxServer.io 团队专注于提供高质量容器解决方案,其容器具有以下特点:
[Airsonic-Advanced] 是一款免费的 Web 媒体流服务,支持通过网络访问音乐库。您可以用它与朋友共享音乐,或在工作时远程收听自己的收藏,还能同时向多个设备(如厨房和客厅的播放器)推送音频流。
该镜像通过 Docker manifest 实现多平台支持,拉取 lscr.io/linuxserver/airsonic-advanced:latest 即可自动匹配对应架构。也可通过标签指定架构:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
<您的IP>:4040JAVA_OPTS 环境变量传递 Java 参数,例如 -e JAVA_OPTS="-Xmx256m -Xms256m"(设置内存限制)。-e JAVA_OPTS=-Dserver.use-forward-headers=true 以确保 URL 生成正确。PGID 与音频设备(如 /dev/snd)的所属组一致。以下提供两种部署方式,根据需求选择(未标注“可选”的参数为必填项)。
创建 docker-compose.yml 文件,内容如下:
yaml--- services: airsonic-advanced: image: lscr.io/linuxserver/airsonic-advanced:latest container_name: airsonic-advanced environment: - PUID=1000 # 用户ID(见下方说明) - PGID=1000 # 组ID(见下方说明) - TZ=Etc/UTC # 时区,参考列表: - CONTEXT_PATH= # 可选,反向代理时设置 URL 前缀 - JAVA_OPTS= # 可选,Java 额外参数 volumes: - /path/to/config:/config # 配置文件目录(替换为实际路径) - /path/to/music:/music # 音乐库目录(替换为实际路径) - /path/to/playlists:/playlists # 播放列表目录(替换为实际路径) - /path/to/podcasts:/podcasts # 播客目录(替换为实际路径) - /path/to/media:/media # 可选,其他媒体文件目录 ports: - 4040:4040 # Web 界面端口 devices: - /dev/snd:/dev/snd # 可选,本地音频设备(用于 Java 播放器) restart: unless-stopped
启动容器:
bashdocker-compose up -d
直接执行命令部署:
bashdocker run -d \ --name=airsonic-advanced \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e CONTEXT_PATH= `#可选` \ -e JAVA_OPTS= `#可选` \ -p 4040:4040 \ -v /path/to/config:/config \ -v /path/to/music:/music \ -v /path/to/playlists:/playlists \ -v /path/to/podcasts:/podcasts \ -v /path/to/media:/media `#可选` \ --device /dev/snd:/dev/snd `#可选` \ --restart unless-stopped \ lscr.io/linuxserver/airsonic-advanced:latest
| 参数 | 作用说明 |
|---|---|
-p 4040:4040 | Web 管理界面端口映射 |
-e PUID=1000 | 用户 ID,用于解决权限问题(见下方“用户/组 ID”说明) |
-e PGID=1000 | 组 ID,同上 |
-e TZ=Etc/UTC | 容器时区,例如 Asia/Shanghai 表示中国时区 |
-e CONTEXT_PATH= | 反向代理时的 URL 前缀(如 /airsonic) |
-e JAVA_OPTS= | Java 运行参数(如内存设置、代理配置) |
-v /config | 配置文件存储目录 |
-v /music | 音乐库目录 |
-v /playlists | 播放列表存储目录 |
-v /podcasts | 播客文件目录 |
-v /media | 可选,其他媒体文件(如视频)目录 |
--device /dev/snd | 可选,映射本地音频设备(用于 Java 播放器) |
--read-only=true | 启用只读文件系统(需配合文档配置) |
--user=1000:1000 | 以非 root 用户运行(需替换为实际 UID:GID) |
支持从文件读取环境变量,格式为 -e FILE__<变量名>=<文件路径>。例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable # 从文件 /run/secrets/mysecretvariable 读取 MYVAR 的值
可通过 -e UMASK=022 调整容器内文件权限掩码(默认值 022)。注意 umask 是权限减法,而非直接设置权限,详情参考 说明。
容器通过 PUID 和 PGID 映射宿主机用户权限,避免文件读写权限问题。获取当前用户的 UID/GID 命令:
bashid your_user # 替换 your_user 为实际用户名,输出类似 uid=1000(xxx) gid=1000(xxx)
可通过 [Docker Mods] 扩展容器功能。该镜像支持的 Mods 及通用 Mods 可通过以下链接查看:
bashdocker exec -it airsonic-advanced /bin/bash
bashdocker logs -f airsonic-advanced
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' airsonic-advanced
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/airsonic-advanced:latest
使用 docker-compose 更新
bash# 拉取最新镜像(全部或单个) docker-compose pull # 全部镜像 # 或 docker-compose pull airsonic-advanced # 单个镜像 # 重启容器(全部或单个) docker-compose up -d # 全部容器 # 或 docker-compose up -d airsonic-advanced # 单个容器 # 清理旧镜像 docker image prune
使用 docker run 更新
bash# 拉取最新镜像 docker pull lscr.io/linuxserver/airsonic-advanced:latest # 停止并删除旧容器 docker stop airsonic-advanced && docker rm airsonic-advanced # 用原参数重新创建容器(配置通过 /config 目录保留) # (重新执行部署时的 docker run 命令) # 清理旧镜像 docker image prune
[!TIP]
推荐使用 [Diun] 接收镜像更新通知,不建议使用自动更新工具。
如需自定义镜像,可按以下步骤本地构建:
bash# 克隆仓库 git clone [] docker-airsonic-advanced # 构建镜像(默认 x86-64) docker build --no-cache --pull -t lscr.io/linuxserver/airsonic-advanced:latest . # 构建 ARM 架构(需先注册 qemu-static) docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset # 然后指定架构 Dockerfile,例如 arm64: docker build -f Dockerfile.aarch64 --no-cache --pull -t lscr.io/linuxserver/airsonic-advanced:latest .
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务