linuxserver/lazylibrarianLazylibrarian 是一个用于跟踪作者并获取数字阅读所需元数据的程序。它结合Goodreads、Librarything以及可选的GoogleBooks作为作者信息和图书信息的来源。本容器基于DobyTang分支构建,由LinuxServer.io团队维护,提供稳定可靠的Docker化部署方案。
适用于需要管理个人数字图书库的用户,特别是:
该镜像利用Docker manifest实现多平台支持,拉取lscr.io/linuxserver/lazylibrarian:latest即可自动获取适合当前架构的镜像,也可通过标签指定特定架构:
| 架构 | 支持情况 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
通过 http://<你的IP>:5299/home 访问Web界面,更多信息请参考Lazylibrarian官方文档。
容器默认设置 /books 为可选路径,便于快速开始使用。
仅64位系统支持:容器提供可选的Calibredb导入程序依赖,避免不必要的臃肿。如需使用此功能:
/usr/bin/calibredb该可选层会在Calibre发布新版本时由CI管道自动重建,确保版本更新。
通过将 linuxserver/mods:lazylibrarian-ffmpeg 添加到 DOCKER_MODS 环境变量,可在容器启动时安装ffmpeg,启用有声书转换功能。在Web界面中,通过 设置 > 处理 > 外部程序 将ffmpeg路径设置为 ffmpeg 即可启用。
以下提供docker-compose和docker cli两种部署方式。除非标记为"可选",否则所有参数为必填项。
yaml--- services: lazylibrarian: image: lscr.io/linuxserver/lazylibrarian:latest container_name: lazylibrarian environment: - PUID=1000 # 用户ID - PGID=1000 # 组ID - TZ=Etc/UTC # 时区 - DOCKER_MODS=linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg # 可选,启用calibre和ffmpeg支持 volumes: - /path/to/lazylibrarian/data:/config # 配置文件目录 - /path/to/downloads/:/downloads # 下载目录 - /path/to/data/:/books # 图书目录(可选) ports: - 5299:5299 # Web界面端口 restart: unless-stopped # 重启策略
bashdocker run -d \ --name=lazylibrarian \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e DOCKER_MODS=linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg `# 可选` \ -p 5299:5299 \ -v /path/to/lazylibrarian/data:/config \ -v /path/to/downloads/:/downloads \ -v /path/to/data/:/books `# 可选` \ --restart unless-stopped \ lscr.io/linuxserver/lazylibrarian:latest
容器运行时通过参数进行配置,格式为<外部>:<内部>。
| 参数 | 功能 |
|---|---|
-p 5299:5299 | Lazylibrarian Web界面端口 |
-e PUID=1000 | 用户ID,详见下文"用户/组标识符" |
-e PGID=1000 | 组ID,详见下文"用户/组标识符" |
-e TZ=Etc/UTC | 时区设置,参考时区列表 |
-e DOCKER_MODS=... | 可选,添加额外功能模块,如Calibre或ffmpeg支持 |
-v /config | Lazylibrarian配置文件目录 |
-v /downloads | 下载文件存储目录 |
-v /books | 图书存储目录(可选) |
可通过特殊前缀FILE__从文件加载环境变量。例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
这会将MYVAR环境变量的值设置为/run/secrets/mysecretvariable文件的内容。
所有镜像支持通过-e UMASK=022覆盖默认umask设置。注意umask是权限掩码,通过减法而非加法调整权限,详情参考umask说明。
使用卷挂载(-v参数)时,可能出现宿主机与容器间的权限问题。通过指定PUID(用户ID)和PGID(组ID)可避免此类问题。确保宿主机上的卷目录由指定用户拥有。
通过以下命令获取当前用户的PUID和PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
Docker Mods是用于扩展容器功能的额外模块。本镜像支持的Mods包括:
linuxserver/mods:universal-calibre:添加Calibredb支持linuxserver/mods:lazylibrarian-ffmpeg:添加ffmpeg支持通过DOCKER_MODS环境变量指定要启用的mods,多个mods用|分隔。
bashdocker exec -it lazylibrarian /bin/bash
bashdocker logs -f lazylibrarian
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lazylibrarian
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/lazylibrarian:latest
大多数镜像为静态版本,需通过更新镜像并重建容器来更新应用。以下是更新容器的方法:
更新镜像:
bashdocker-compose pull
bashdocker-compose pull lazylibrarian
更新容器:
bashdocker-compose up -d
bashdocker-compose up -d lazylibrarian
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/lazylibrarian:latest
停止运行中的容器:
bashdocker stop lazylibrarian
删除容器:
bashdocker rm lazylibrarian
使用相同参数重建容器(配置文件位于宿主机卷中,将被保留)
清理旧镜像:
bashdocker image prune
推荐使用Diun工具接收镜像更新通知。不建议使用自动更新容器的工具。
如需本地修改或开发,可按以下步骤构建镜像:
bashgit clone [***] cd docker-lazylibrarian docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/lazylibrarian:latest .
在x86_64硬件上构建ARM变体需使用lscr.io/linuxserver/qemu-static:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
然后使用-f Dockerfile.aarch64指定架构对应的Dockerfile。
Levenshtein,为armhf添加cmake构建依赖manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务