Airsonic 是一个免费的基于Web的媒体流服务器,可让您随时随地访问音乐。您可以使用它与朋友共享音乐,或在工作时收听自己的音乐。它支持同时向多个播放器流式传输,例如一个在厨房,另一个在客厅。
此镜像已弃用。我们将不再为此镜像提供支持,也不会更新它。建议改用我们的airsonic-advanced镜像:[***]
LinuxServer.io团队提供的容器具有以下特点:
我们的镜像支持多种架构,如x86-64、arm64和armhf。我们利用docker manifest实现多平台识别。只需拉取lscr.io/linuxserver/airsonic即可获取适合您架构的正确镜像,您也可以通过标签拉取特定架构的镜像。
此镜像支持的架构:
| 架构 | 标签 |
|---|---|
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
通过 <your-ip>:4040 访问Web界面。
默认用户/密码为 admin/admin。
可以通过JAVA_OPTS环境变量传递额外的Java选项,例如 -e JAVA_OPTS="-Xmx256m -Xms256m"。对于某些反向代理,您可能需要传递 JAVA_OPTS=-Dserver.use-forward-headers=true,以便Airsonic生成正确的URL方案。
请注意,如果您想使用Airsonic的Java jukebox播放器,则PGID需要与您的声音设备(例如/dev/snd)的组匹配。
以下是一些示例代码片段,帮助您开始创建容器。
yaml--- version: "2.1" services: airsonic: image: lscr.io/linuxserver/airsonic container_name: airsonic environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - CONTEXT_PATH=<URL_BASE> #可选 - JAVA_OPTS=<options> #可选 volumes: - </path/to/config>:/config - </path/to/music>:/music - </path/to/playlists>:/playlists - </path/to/podcasts>:/podcasts - </path/to/other media>:/media #可选 ports: - 4040:4040 devices: - /dev/snd:/dev/snd #可选 restart: unless-stopped
bashdocker run -d \ --name=airsonic \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -e CONTEXT_PATH=<URL_BASE> `#可选` \ -e JAVA_OPTS=<options> `#可选` \ -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/other media>:/media `#可选` \ --device /dev/snd:/dev/snd `#可选` \ --restart unless-stopped \ lscr.io/linuxserver/airsonic
容器镜像通过运行时传递的参数进行配置(如上所示)。这些参数用冒号分隔,表示<外部>:<内部>。例如,-p 8080:80将容器内的端口80暴露到主机IP的8080端口。
| 参数 | 功能 |
|---|---|
-p 4040 | Web界面端口 |
-e PUID=1000 | 用户ID - 详见下方说明 |
-e PGID=1000 | 组ID - 详见下方说明 |
-e TZ=Europe/London | 指定时区,例如Europe/London |
-e CONTEXT_PATH=<URL_BASE> | 用于反向代理设置中的URL基础路径 |
-e JAVA_OPTS=<options> | 用于传递额外的Java选项 |
-v /config | 配置文件位置 |
-v /music | 音乐文件位置 |
-v /playlists | 播放列表保存位置 |
-v /podcasts | 播客文件位置 |
-v /media | 其他媒体文件位置(可选) |
--device /dev/snd | 仅当需要Airsonic的Java jukebox播放器时,传递主机声音设备 |
您可以通过使用特殊的前缀FILE__从文件中设置任何环境变量。
例如:
bash-e FILE__PASSWORD=/run/secrets/mysecretpassword
这将根据/run/secrets/mysecretpassword文件的内容设置PASSWORD环境变量。
对于我们所有的镜像,您可以使用可选的-e UMASK=022设置来覆盖容器内服务启动时的默认umask设置。请注意,umask不是chmod,它基于其值减去权限,而不是添加。请在请求支持前阅读相关内容。
使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID和组PGID来避免此问题。
确保主机上的任何卷目录都归您指定的相同用户所有,权限问题将迎刃而解。
在本例中PUID=1000和PGID=1000,要查找您的ID,请使用id user命令:
bash$ id username uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
我们发布了各种Docker Mods,以启用容器内的额外功能。可通过上方动态徽章访问此镜像可用的模块列表(如有)以及可应用于我们任何镜像的通用模块。
docker exec -it airsonic /bin/bashdocker logs -f airsonicdocker inspect -f '{{ index .Config.Labels "build_version" }}' airsonicdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/airsonic我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除某些例外(如nextcloud、plex),我们不建议或支持在容器内更新应用。请参考上方的应用设置部分,了解是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
docker-compose pull
docker-compose pull airsonicdocker-compose up -d
docker-compose up -d airsonicdocker image prunedocker pull lscr.io/linuxserver/airsonicdocker stop airsonicdocker rm airsonic/config文件夹和设置将被保留)docker image prune拉取最新标签的镜像并使用相同的环境变量替换它:
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once airsonic
您还可以删除旧的悬空镜像:docker image prune
注意: 我们不认可将Watchtower用作现有Docker容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。但是,对于您忘记原始参数的容器,这是一个有用的一次性手动更新工具。从长远来看,我们强烈建议使用Docker Compose。
如果您想为开发目的或自定义逻辑对这些镜像进行本地修改:
bashgit clone [***] cd docker-airsonic docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/airsonic:latest .
可以使用multiarch/qemu-user-static在x86_64硬件上构建ARM变体:
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以使用-f Dockerfile.aarch64指定要使用的dockerfile。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429