目录

「Spoken」护眼从听小说开始

自托管有声书播客的运维记录。

推流 / Streaming

Audiobookshelf

部署

docker compose 配置参考如下

services:
  audiobookshelf:
    image: advplyr/audiobookshelf:2.36.0
    container_name: audiobookshelf
    restart: unless-stopped
    networks:
      - traefik_proxy
    environment:
      - AUDIOBOOKSHELF_UID=1000
      - AUDIOBOOKSHELF_GID=1000
      - TZ=Asia/Shanghai
    volumes:
      - /path/to/your/audiobookshelf/config:/config
      - /path/to/your/audiobookshelf/metadata:/metadata
      - "/path/to/your/audiobook:/audiobooks:ro"
      - "/path/to/your/podcasts:/podcasts:ro"
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik_proxy"
      - "traefik.http.routers.audiobookshelf.rule=Host(`spoken.aio.yirami.xyz`)"
      - "traefik.http.routers.audiobookshelf.entrypoints=websecure"
      - "traefik.http.routers.audiobookshelf.tls=true"
      - "traefik.http.routers.audiobookshelf.tls.certresolver=le"
      - "traefik.http.routers.audiobookshelf.middlewares=authelia-auth"
      - "traefik.http.services.audiobookshelf.loadbalancer.server.port=80"
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 512M
        reservations:
          memory: 128M
    healthcheck:  # 避免过多的日志噪声,官方建议禁用健康检查
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost/healthcheck"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s