linuxserver/booksonic此镜像已弃用。我们将不再为此镜像提供支持,也不会对其进行更新。请迁移至 <[***]>
Booksonic 是一个服务器和应用程序,用于将您的有声书流式传输到任何PC或Android手机。大多数功能也可在其他支持Subsonic应用的平台上使用。
!booksonic
我们的镜像支持多种架构,如 x86-64、arm64 和 armhf。我们利用docker manifest实现多平台识别。更多信息可参考docker 文档 和我们的公告 文章。
只需拉取 lscr.io/linuxserver/booksonic 即可获取适合您架构的正确镜像,您也可以通过标签拉取特定架构的镜像。
此镜像支持的架构如下:
| 架构 | 标签 |
|---|---|
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
此镜像提供多种版本,可通过标签获取。latest 标签通常提供最新稳定版本,其他标签视为开发版本,使用时需谨慎。
| 标签 | 描述 |
|---|---|
| latest | Booksonic 稳定版本 |
| prerelease | Booksonic 预发布版本 |
默认用户/密码为 admin/admin。
以下是帮助您开始创建容器的示例代码片段。
yaml--- version: "2.1" services: booksonic: image: lscr.io/linuxserver/booksonic container_name: booksonic environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - CONTEXT_PATH=url-base volumes: - </path/to/appdata/config>:/config - </path/to/audiobooks>:/audiobooks - </path/to/podcasts>:/podcasts - </path/to/othermedia>:/othermedia ports: - 4040:4040 restart: unless-stopped
bashdocker run -d \ --name=booksonic \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -e CONTEXT_PATH=url-base \ -p 4040:4040 \ -v </path/to/appdata/config>:/config \ -v </path/to/audiobooks>:/audiobooks \ -v </path/to/podcasts>:/podcasts \ -v </path/to/othermedia>:/othermedia \ --restart unless-stopped \ lscr.io/linuxserver/booksonic
容器镜像通过运行时传递的参数进行配置(如上所示)。这些参数以冒号分隔,表示 <外部>:<内部>。例如,-p 8080:80 会将容器内的端口 80 暴露到主机IP的 8080 端口。
| 参数 | 功能 |
|---|---|
-p 4040 | 应用WebUI端口 |
-e PUID=1000 | 用户ID - 详见下文说明 |
-e PGID=1000 | 组ID - 详见下文说明 |
-e TZ=Europe/London | 指定时区,例如 Europe/London |
-e CONTEXT_PATH=url-base | 用于反向代理等的基础URL |
-v /config | 配置文件目录 |
-v /audiobooks | 有声书目录 |
-v /podcasts | 播客目录 |
-v /othermedia | 其他媒体目录 |
您可以通过使用特殊前缀 FILE__ 从文件设置任何环境变量。
例如:
bash-e FILE__PASSWORD=/run/secrets/mysecretpassword
这将根据 /run/secrets/mysecretpassword 文件的内容设置 PASSWORD 环境变量。
对于我们所有的镜像,您可以使用可选的 -e UMASK=022 设置来覆盖容器内启动的服务的默认umask设置。请注意,umask不是chmod,它基于其值减去权限,而不是添加权限。请在寻求支持前阅读此处了解更多信息。
使用卷(-v 标志)时,主机OS和容器之间可能会出现权限问题。我们通过允许您指定用户 PUID 和组 PGID 来避免此问题。
确保主机上的任何卷目录都由您指定的相同用户拥有,所有权限问题将迎刃而解。
在本例中 PUID=1000 和 PGID=1000,您可以使用 id user 命令查找您的ID:
bash$ id username uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
我们发布了各种 Docker Mods,以启用容器内的附加功能。上述动态徽章可访问此镜像可用的Mods列表(如有)以及可应用于我们任何镜像的通用Mods。
docker exec -it booksonic /bin/bashdocker logs -f booksonicdocker inspect -f '{{ index .Config.Labels "build_version" }}' booksonicdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/booksonic我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除某些例外(如nextcloud、plex),我们不建议或支持在容器内更新应用。请参阅上面的应用设置部分,了解是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
docker-compose pull
docker-compose pull booksonicdocker-compose up -d
docker-compose up -d booksonicdocker image prunedocker pull lscr.io/linuxserver/booksonicdocker stop booksonicdocker rm booksonic/config文件夹和设置将被保留)docker image prune拉取其标签的最新镜像并在一次运行中使用相同的环境变量替换它:
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once booksonic
您还可以删除旧的悬空镜像:docker image prune
注意: 我们不认可使用Watchtower作为现有Docker容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。但是,对于您忘记原始参数的容器,这是一个有用的一次性手动更新工具。从长远来看,我们强烈建议使用Docker Compose。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
bashgit clone [***] cd docker-booksonic docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/booksonic:latest .
ARM变体可以使用multiarch/qemu-user-static在x86_64硬件上构建:
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以使用-f Dockerfile.aarch64指定要使用的dockerfile。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务