首页
/ 使用Docker Compose部署Audiobookshelf音频书管理平台

使用Docker Compose部署Audiobookshelf音频书管理平台

2025-07-06 07:35:10作者:丁柯新Fawn

项目概述

Audiobookshelf是一个开源的音频书管理平台,它允许用户组织、管理和收听个人音频书收藏。通过Docker Compose部署Audiobookshelf可以简化安装过程,确保环境一致性,并便于后续维护升级。

部署准备

在开始部署前,请确保系统已安装:

  1. Docker引擎(版本17.06.0或更高)
  2. Docker Compose(版本1.28.0或更高)

Docker Compose配置详解

基础服务配置

services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest

这里定义了名为audiobookshelf的服务,使用官方提供的最新镜像。该镜像包含了运行Audiobookshelf所需的所有依赖和应用程序代码。

网络端口映射

    ports:
      - 13378:80
  • 左侧13378是主机端口,可根据需要修改(确保未被其他服务占用)
  • 右侧80是容器内部端口,不应更改,因为这是Audiobookshelf服务的默认监听端口

数据卷配置

    volumes:
      - ./audiobooks:/audiobooks
      - ./podcasts:/podcasts
      - ./metadata:/metadata
      - ./config:/config

数据卷配置是部署中最关键的部分,它确保了数据的持久化和可访问性:

  1. 音频书目录./audiobooks:/audiobooks

    • 将主机上的./audiobooks目录映射到容器内的/audiobooks
    • 这是存放音频书文件的目录,可根据需要添加多个映射
  2. 播客目录./podcasts:/podcasts

    • 类似音频书目录,用于存放播客内容
  3. 元数据目录./metadata:/metadata

    • 存储Audiobookshelf生成的元数据(如封面、描述等)
    • 可以存放在主机任意位置
  4. 配置目录./config:/config

    • 存储应用程序配置和数据库
    • 必须位于运行Docker的物理主机上

运行参数

    restart: unless-stopped

设置容器重启策略为unless-stopped,意味着:

  • 容器会在Docker守护进程启动时自动启动
  • 除非明确停止容器,否则在异常退出时会自动重启

用户权限(可选)

    # user: 1000:1000

默认情况下容器以root用户运行,取消注释并修改UID/GID可以让容器以特定用户运行:

  1. 在Linux上,可通过id -uid -g命令获取当前用户的UID和GID
  2. 确保指定用户对映射的目录有读写权限

部署步骤

  1. 创建项目目录并进入:

    mkdir audiobookshelf && cd audiobookshelf
    
  2. 创建docker-compose.yml文件,将上述配置内容复制进去

  3. 创建所需的本地目录:

    mkdir -p audiobooks podcasts metadata config
    
  4. 启动服务:

    docker-compose up -d
    
  5. 访问服务: 打开浏览器访问http://localhost:13378(如果修改了端口号,请使用修改后的端口)

常见问题解决

  1. 权限问题

    • 如果遇到文件访问权限错误,可尝试:
      • 取消user配置并指定正确的UID/GID
      • 或使用chmod调整本地目录权限
  2. 端口冲突

    • 如果13378端口已被占用,修改docker-compose.yml中的左侧端口号
  3. 数据迁移

    • 升级或重新部署时,只需保留metadataconfig目录即可恢复原有数据

维护与升级

  1. 停止服务

    docker-compose down
    
  2. 更新镜像

    docker-compose pull
    docker-compose up -d
    
  3. 查看日志

    docker-compose logs -f
    

通过Docker Compose部署Audiobookshelf不仅简化了安装过程,还便于后续的维护和升级。这种部署方式特别适合希望快速搭建个人音频书管理系统的用户,同时也为高级用户提供了足够的灵活性来定制自己的配置。