阅读可以扩展思维,但有时,从口袋里掏出一本 600 页的巨著是不切实际的。 例如,在驾驶汽车时,您不能沉迷于经典散文。 这就是有声读物的用武之地,它为您提供叙述文学体验的好处,而无需您将视线从道路上移开。 借助有声读物,您可以在开车、洗碗甚至工作时阅读精彩的文学作品。
虽然有许多有声读物订阅服务可用,但在 Raspberry Pi 上创建和托管您自己的图书馆会更令人满意。
什么是有声书架?
Audiobookshelf 是一个自托管的有声读物和播客服务器。 这意味着您可以自己将其部署在 VPS(虚拟专用服务器)或您自己家中的硬件上,并通过互联网访问它,通过手机或专用应用程序流式传输和下载故事。
Raspberry Pi 非常适合这个项目。 您需要知道它的本地 IP 地址,还需要一个静态 IP 地址和一个域名。
如何在树莓派上安装有声书架
在 Raspberry Pi 上安装操作系统后,使用 SSH(安全外壳)连接到它。
ssh username@local.pi.ip.address
代替 用户名 和 local.pi.ip.address 使用您自己的 Raspberry Pi 的详细信息。 现在按照以下步骤安装 Aurdiobookshelf。
- 更新和升级任何已安装的软件包:
sudo apt update
sudo apt upgrade - 安装 Apache2 反向代理,以便您可以在家外访问 Audiobookshelf:
sudo apt install apache2
- 还有 certbot,您稍后将使用它来生成安全密钥和证书以确保您的连接安全:
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt-get install python3-certbot-apache - Docker 是一种让开发人员可以为最终用户轻松构建、运行和更新软件包的方法:
sudo apt install docker.io
- 将您的用户添加到 docker 组:
sudo usermod -aG docker your_user_name
- 使用以下命令启动并启用 Docker:
sudo systemctl start docker
sudo systemctl enable docker - Docker-compose 是一个让管理 Docker 容器更简单的工具:
sudo apt install docker-compose
- 在您的主目录中,创建一个名为的新目录 有声书架, 然后 光盘 进入它,并创建另外四个目录:
cd audiobookshelf
mkdir audiobooks
mkdir podcasts
mkdir config
mkdir metadata - 返回主目录并创建一个新的 docker-compose 文件:
cd ~
nano docker-compose.yml并将以下内容粘贴到其中:
version: '3.5'
services:
audiobookshelf:
container_name: audiobookshelf
image: ghcr.io/advplyr/audiobookshelf:latest
environment:
- AUDIOBOOKSHELF_UID=99
- AUDIOBOOKSHELF_GID=100
ports:
- 13378:80
volumes:
- /home/your-user-name/audiobookshelf/audiobooks:/audiobooks
- /home/your-user-name/audiobookshelf/podcasts:/podcasts
- /home/your-user-name/audiobookshelf/config:/config
- /home/your-user-name/audiobookshelf/metadata:/metadata您需要更改的唯一部分是目录的路径。 Save 并退出 nano Ctrl + O 然后 Ctrl + X.
- 命令:
docker-compose pull
会将所有必要的图像拉到您的 Pi 上,并且:
docker-compose up -d
将启动容器。 有声书架现在正在运行。
从家庭网络设置有声书架
现在可以从您的家庭网络中访问有声书架,但不能从更广泛的互联网访问。 最佳做法是在连接到 Internet 并获得 SSL 证书之前执行初始设置,因为不良行为者会查看证书日志以查看新站点何时上线,并且他们可能能够在此期间进行控制。
通过键入访问有声书架前端 你的.pi.ip.address:13378 进入任何浏览器。 系统将提示您设置 root 用户帐户和密码。
确保选择不易被猜到的强密码。 然后将提示您使用刚刚创建的凭据登录。
此时,有声书架会提示您 添加您的第一个库,并会要求您选择书籍或播客,为图书馆命名,然后浏览图书馆。 因为 Audiobookshelf 只能访问您指定的目录 码头工人-compose.yml,这个位置是 /有声读物. 选择此项,然后单击 创建新库.
Audiobookshelf 没有任何有声读物,因为此时您还没有添加任何有声读物。 在存储有声读物的计算机上,使用 PuTTY 或终端将您的图书馆转移到 Raspberry Pi 上的正确位置。
scp -r /path/to/your/audiobook/directory/* [email protected]:/home/your-user-name/audiobookshelf/audiobooks/
根据您收藏的大小,此过程可能需要几个小时。 完成并返回到提示符后,返回浏览器中的 Audiobookshelf 并点击绿色 扫描 按钮。
Audiobookshelf 现在将尝试使用包括 Apple、Audible 和 Google 在内的供应商来识别您的有声读物,以确定章节标记、作者、叙述者、概要以及这些书籍是否是系列的一部分。 完成后,您的图书馆将被填充、分类和搜索。
您将能够使用沿屏幕左边缘垂直排列的按钮在屏幕之间轻松导航。 家 分为几个部分,显示您当前正在阅读的内容、系列中的下一本书、最近添加的有声读物和最近添加的系列。 在最底部,有作者和叙述者的图像。 您可以点击这些查看盆栽传记。
其他屏幕包括 图书馆,它显示了您的每本书的单独封面 有声读物 目录; 系列; 收藏品; 和 作者. 所有这些都将准确显示您期望他们做什么。
要开始收听有声读物,请单击封面并按 玩. 有声书架会为您记住您的位置。
从家外访问有声书架
坐在家里壁炉前的扶手椅上听一本好的有声读物是一种愉快的体验,但您可能希望从家外访问您的叙述。 为此,您需要将对您的域名的请求定向到 Raspberry Pi 上的端口 13378。
- 在终端或 SSH 客户端中:
cd /etc/apache2/sites-available
- 使用 nano 创建一个新文件:
sudo nano audiobookshelf.conf
- Enter 以下:
<VirtualHost *:80> ServerName your-domain-name.tld ProxyPreserveHost On ProxyPass / https://your.local.pi.ip.address:13378/ RewriteEngine on RewriteCond %{HTTP:Upgrade} websocket [NC] RewriteCond %{HTTP:Connection} upgrade [NC] RewriteRule ^/?(.*) "ws://your.local.pi.ip.address:13378/$1" [P,L] </VirtualHost>
您将需要更换 your.local.pi.ip.address 使用您的 Pi 的实际本地 IP 地址,以及 服务器名称 应该是您要使用的域名。 Save 并退出 nano Ctrl + O 然后 Ctrl + X.
- 使用以下命令启用新的 conf 文件:
sudo a2ensite audiobookshelf.conf
- 重启 Apache2:
sudo service apache2 restart
- 您的 Audiobookshelf 实例现在可以通过 HTTP 连接在 Internet 上访问。 这是不安全的,所以使用 certbot 从 Let’s Encrypt 获取证书和密钥:
sudo certbot
- 从列表中选择您的域名并选择 重定向 当被问到时。
- 您将需要重新启动 Apache 再一次让更改生效。
sudo service apache2 restart
通过 HTTP 进行的任何连接尝试都将自动升级到 HTTPS,从而使您的连接更加安全。
您在哪里可以找到有声书架的书籍?
Audiobookshelf 可以即时传输所有音频格式,包括流行的 MP3、M4A 和 M4B 格式。 您可以在以下位置找到无 DRM 的有声读物 倾盆大雨 和 LibriVox. 仔细的网络搜索将显示更多位置和独立零售商。
您已在 Raspberry Pi 上成功部署了自己的有声读物库!
您可以触手可及地访问整个叙述故事的世界。 为什么不从您的阅读习惯中扩展并从新的流派开始呢? 侦探故事、温馨的爱情故事和爆炸性的惊悚片都在那里等着你。 您甚至可以学习一门新语言并用另一种语言聆听您喜欢的旧语言。