
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个用于Subsonic的简单Docker容器,可通过环境变量自定义Subsonic的部分配置。以下是自定义选项说明。
| 变量名称 | 描述 | 默认值 |
|---|---|---|
| SUBSONIC_HOME | Subsonic的主目录(容器内) | /var/subsonic |
| SUBSONIC_HOST | 绑定的主机名或IP接口,容器环境下通常无需修改 | 0.0.0.0 |
| SUBSONIC_PORT | Subsonic绑定的端口 | 4040 |
| SUBSONIC_HTTPS_PORT | HTTPS使用的端口 | 0(未使用) |
| SUBSONIC_CONTEXT_PATH | URL中Subsonic的路径前缀 | / |
| SUBSONIC_DB | Subsonic使用的JDBC数据库连接字符串,默认使用内存中的HSQLDB | (空) |
| SUBSONIC_MAX_MEMORY | Subsonic可使用的最大内存(MB) | 150 |
| SUBSONIC_DEFAULT_MUSIC_FOLDER | 容器内默认音乐文件夹 | /var/music |
| SUBSONIC_DEFAULT_PODCAST_FOLDER | 容器内默认播客文件夹 | /var/music/Podcast |
| SUBSONIC_DEFAULT_PLAYLIST_FOLDER | 容器内默认播放列表文件夹 | /var/playlists |
| SUBSONIC_UID | Subsonic用户的数字用户ID | 1000 |
| SUBSONIC_GID | Subsonic用户组的数字组ID | 1000 |
容器已包含ffmpeg、mikmod(用于screamtracker模块)、timidity(用于MIDI文件)和LAME(用于将screamtracker和MIDI文件编码为MP3)。Subsonic默认未配置使用mikmod或timidity,需手动添加转码配置。在转码部分,为screamtracker等文件添加如下配置:
| 名称 | 转换来源 | 转换目标 | 步骤1 | 步骤2 |
|---|---|---|---|---|
| xm、mod等转mp3 | xm mod s3m 669 it stm amf dsm far gdm gt2 imf med mtm okt stx ult umx apun | mp3 | mikmod_stdout %s | lame -r -b %b --tt %t --ta screamtracker --tl %l -S --resample 44.1 - - |
| mid转mp3 | mid | mp3 | timidity_stdout %s | lame - -b 64 |
mikmod_stdout和timidity_stdout是简单脚本,运行mikmod和timidity并将输出以WAV格式发送到stdout,供lame编码使用。若无需处理tracker或MIDI文件,可忽略此配置。
容器将为以下目录使用卷:
| 卷路径 | 描述 |
|---|---|
| /var/music | Subsonic默认查找音乐的路径 |
| /var/playlists | Subsonic默认查找和存储播放列表的路径 |
| /var/subsonic | Subsonic存储状态和配置的路径 |
Subsonic将以容器内的服务用户(subsonic)运行,其用户ID(UID)和组ID(GID)通过SUBSONIC_UID和SUBSONIC_GID环境变量配置(默认1000/1000)。映射到/var/subsonic的目录/卷将被设置为subsonic:subsonic所有。若迁移现有Subsonic安装到容器,需将/var/subsonic下所有文件的所有权改为subsonic:subsonic,命令:chmod -R subsonic:subsonic DIR(DIR为映射到/var/subsonic的目录)。音乐、播放列表等文件需至少对subsonic:subsonic有读权限。
以下是运行容器的docker run命令示例:
bashdocker run -it \ -p "4040:4040/tcp" \ -v /data/music:/var/music \ -v /data/subsonic-data:/var/subsonic \ --name="subsonic" \ stuckj/subsonic:latest
带环境变量自定义的示例:
bashdocker run -it \ -p "8080:8080/tcp" \ -eSUBSONIC_PORT=8080 \ -eSUBSONIC_MAX_MEMORY=512 \ -eSUBSONIC_UID=33 \ -eSUBSONIC_GID=33 \ -v /data/music:/var/music \ -v /data/playlists:/var/playlists \ -v /data/subsonic-data:/var/subsonic \ --name="subsonic" \ stuckj/subsonic:latest
使用Docker Compose的docker-compose.yaml示例:
yamlversion: '2' services: subsonic: image: stuckj/subsonic:latest restart: unless-stopped environment: - SUBSONIC_MAX_MEMORY=512 - SUBSONIC_PORT=8080 - SUBSONIC_UID=33 - SUBSONIC_GID=33 ports: - 8080:8080/tcp volumes: - /data/music:/var/music - /data/playlists:/var/playlists - /data/subsonic-data:/var/subsonic
TODO: 在Dockerfile中设置新版本的自动检测(需要抓取页面)。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务