欢迎光临散文网 会员登陆 & 注册

【实用的开源项目】使用服务器部署Audiobookshelf,一个自托管有声读物和播客服务器

2023-04-08 22:46 作者:我是小俊呀  | 我要投稿

1. 前言

昨天小俊发现了一个不错的程序: Audiobookshelf ,它是一个自托管有声读物和播客服务器,它可以直接在程序中搜索 播客 资源,小俊粗略的看了一下,资源还是很多的,并且该程序配套有 Android 和 IOS 客户端,方便使用!今天出一个教程教大家如何部署 Audiobookshelf 。

Audiobookshelf.png

1.1 官方网站

官方网站: https://www.audiobookshelf.org/
官方Github: https://github.com/advplyr/audiobookshelf

2. Audiobookshelf 简介

Audiobookshelf is a self-hosted audiobook and podcast server.
有声书架 是一个自托管的有声读物和播客服务器。

3. 准备工作

  1. 【必需】一台服务器(推荐 腾讯云轻量应用服务器 HK 或境内,其他服务器(如 CloudCone 、 RackNerd 、家里云或者各家企业的私有云亦可

  2. 【建议】操作系统: Debian 10 ,后面的教程打算都是用 Debian 或者 Ubuntu 系统了 

  1. 【建议且必需】域名一枚,并解析到服务器上

  2. 【必需反向代理本教程选用NPM】安装好Nginx Proxy Manager( 相关教程 )

注意

本文软件基于腾讯云轻量应用服务器安装,无建议配置,教程使用的腾讯云轻量应用服务器系统为 Ubuntu Server 20.04 LTS 64bit !理论上腾讯云轻量应用服务器为 Ubuntu20.04-Docker20 的服务器操作应与本文基本一致(包括过程与报错),其他系统为 Debian 或者 Ubuntu 的服务器应与本文大同小异!
腾讯云轻量应用服务器购买地址: https://curl.qcloud.com/XqKjWCYA

腾讯云上云精选: https://curl.qcloud.com/UEBvnJfH

腾讯云云产品特惠专区: https://url.cn/GhZUBLVG

4. 视频教程

5. 界面演示

5.1 媒体库页

Audiobookshelf-媒体库页.png

5.2 设置页

Audiobookshelf-设置页.png

5.3 搜索播客页

Audiobookshelf-搜索播客页.png

6. 部署 Audiobookshelf

6.1 环境准备(腾讯云轻量应用服务器)

该步骤特别为使用腾讯云轻量应用服务器的用户准备,若你不是用腾讯云轻量应用服务器部署该程序,可以直接转到 6.2 环境准备(其他服务器) 继续阅读。

6.1.1 重装系统


此操作前请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!!
此操作前请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!!
此操作前请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!!


进入腾讯云轻量应用服务器的控制台,进入 重装系统 界面,然后选择 使用容器镜像 ,列表中选择 Ubuntu20.04-Docker20 , 请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!! 然后点击勾选 确认已了解以上内容,我确定已备份完成 ,而后点击确定即可完成系统重装。

使用服务器部署Audiobookshelf-重装系统.png
使用服务器部署Audiobookshelf-重装系统-2.png

腾讯云轻量应用服务器与 CVM 相比,轻量应用服务器更聚焦于云计算入门者、学生等用户群体,更加简单易用,将基础云资源与热门开源软件的融合打包实现应用的开箱即用,更适合于支撑小型应用,这边我们之间选择 Docker 容器镜像,就可以跳过安装 Docker 、 docker-compose的步骤(如果你使用的是境内服务器,腾讯云的 Docker 容器镜像已经配置好了国内镜像源,可以加速访问 Docker 镜像资源)。由于腾讯云的 Docker 容器镜像中的 Docker 已经安装了 docker-compose 。所以下文中若你见到 docker compose 命令,请你使用使用 docker-compose 命令!

6.1.2 登录服务器

OrcaTerm (原名 WebShell )是腾讯遨驰云原生操作系统中 CVM 、 Lighthouse 、裸金属等产品的统一网页终端,帮助用户随时随地通过浏览器远程登录服务器管理业务,相比本地远程终端更轻量便捷,无需掌握 SSH 和 FTP 也可轻松操作。
进入腾讯云轻量应用服务器的控制台,点击右上方的 登录 ,使用腾讯云正在公测的 OrcaTerm 登录到服务器。

使用服务器部署Audiobookshelf-登录服务器.png


然后点击登录,即可登录到服务器中

使用服务器部署Audiobookshelf-登录服务器-2.png


输入下面这句命令登录到 root 账号

sudo -i

Bash

Copy

使用服务器部署Audiobookshelf-登录到root.png

6.1.3 安装 Nginx Proxy Manager(必需反向代理本教程选用NPM)

安装 Nginx Proxy Manager 的详细教程小俊之前也写过哦,也配有详细的视频版本,需要学习的朋友可以点击这篇文章学习👉👉👉链接:【教程】使用腾讯云轻量应用服务器搭建Nginx Proxy Manager,优美简单地解决反向代理!https://www.smalljun.com/archives/3113.html ,当然想要使用反向代理的小伙伴要是熟悉 Nginx ,也可以自己安装 Nginx 进行反向代理哦!你想用宝塔面板的话,也是没有问题哒!

6.2 环境准备(其他服务器)

该步骤为各种服务器的环境准备通法,若你使用腾讯云轻量应用服务器部署该程序并已经仔细阅读 6.1 环境准备(腾讯云轻量应用服务器) 并按步骤完成操作,可以跳过该步骤,直接转到 6.3 部署 Audiobookshelf 继续阅读。

6.2.1 更新 Packages 并安装必要软件包

执行以下命令,更新 Packages 并安装必要软件包

apt -y update apt -y install curl

Shell session

Copy

使用服务器部署Audiobookshelf - 更新 Packages 并安装必要软件包.png

6.2.2 安装并启动 Docker

6.2.2.1 境外服务器安装 Docker

执行以下命令,境外服务器安装 Docker

curl -fsSL https://get.docker.com | bash -s docker

Shell session

Copy

6.2.2.2 境内服务器安装 Docker

执行以下命令,境内服务器使用阿里云镜像源安装 Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Shell session

Copy

执行以下命令,境内服务器使用国内 daocloud 一键安装命令安装 Docker

curl -sSL https://get.daocloud.io/docker | sh

Shell session

Copy

6.2.2.3 启动 Docker

输入并执行以下命令,启动 Docker

systemctl start docker

Shell session

Copy

再执行以下命令,查看 Docker 的运行状态

systemctl status docker

Shell session

Copy

最后执行以下命令,设置 Docker 开机自启动

systemctl enable docker

Shell session

Copy

使用服务器部署Audiobookshelf - 启动 Docker.png


由于我们通过以上一键脚本安装的 Docker 为最新版本,新版本的 Docker 自带 compose 这个子命令,所以我们无需额外安装 docker-compose 。下文中若你见到 docker-compose 命令,请你使用使用 docker compose 命令!
使用方面仅有一个 - (dash)字符只差,新版使用 docker compose 命令,而如果你是旧版本就使用 docker-compose 命令。

6.2.3 安装 Nginx Proxy Manager(必需反向代理本教程选用NPM)

安装 Nginx Proxy Manager 的详细教程小俊之前也写过哦,也配有详细的视频版本,需要学习的朋友可以点击这篇文章学习👉👉👉链接:【教程】使用腾讯云轻量应用服务器搭建Nginx Proxy Manager,优美简单地解决反向代理!https://www.smalljun.com/archives/3113.html ,当然想要使用反向代理的小伙伴要是熟悉 Nginx ,也可以自己安装 Nginx 进行反向代理哦!你想用宝塔面板的话,也是没有问题哒!

6.3 部署 Audiobookshelf

6.3.1 新建目录

执行以下命令,新建目录

mkdir -p /opt/docker/audiobookshelf && cd /opt/docker/audiobookshelf

Shell session

Copy

使用服务器部署Audiobookshelf-新建目录.png

6.3.2 新建docker-compose.yaml文件并编辑

执行以下命令,新建 docker-compose.yaml 文件并编辑

nano docker-compose.yaml

Shell session

Copy

然后输入以下配置内容,然后 Ctrl X + y +回车 退出并保存即可。

version: "3.7"services:  audiobookshelf:    image: ghcr.io/advplyr/audiobookshelf:latest    container_name: audiobookshelf    ports:      - 13378:80 #13378为暴露端口,如被占用,请自行更改替换,需要在云服务器的控制台防火墙开放相应端口!    volumes:      - ./audiobooks:/audiobooks      - ./podcasts:/podcasts      - ./config:/config      - ./metadata:/metadata

YAML

Copy

如下图所示

使用服务器部署Audiobookshelf-新建docker-compose.yaml文件并编辑.png

注意:

  1. docker-compose.yaml 文件中 13378 为暴露端口,如被占用,请自行更改替换,需要在云服务器的控制台防火墙开放相应端口!

6.3.3 启动容器

输入执行以下命令后台启动容器

docker compose up -d #新版本Docker使用该命令 docker-compose up -d #旧版本Docker使用该命令,例:上面提到的腾讯云轻量应用服务器的Docker镜像中自带的Docker-compose

Shell session

Copy

使用服务器部署Audiobookshelf-启动容器.png

启动完后再输入执行以下命令确认所有容器都是 running 或 up 状态

docker compose ps #新版本Docker使用该命令 docker-compose ps #旧版本Docker使用该命令,例:上面提到的腾讯云轻量应用服务器的Docker镜像中自带的Docker-compose

Shell session

Copy

如下图所示

使用服务器部署Audiobookshelf-检查容器状态.png

6.4 配置反向代理

先把域名解析到服务器(如果有小白不会解析可以进入 小俊博客的QQ群:199175766 询问,群主就是小俊,一般周末在线,后面考虑写一篇域名解析教程!进入 Nginx Proxy Manager ,点击 Hosts ,然后点击 Add Proxy Host,按下图进行配置,下图中的 172.17.0.1 可能有所不一,请执行 ip addr 自行查找 docker0 网卡的内网IP!

Domain Names:填写你想用在该程序的域名 Scheme:默认http #一般不用改Forward Hostname / IP:172.17.0.1 #一般为 `172.17.0.1` ,可能有所不一,请执行 `ip addr` 自行查找 `docker0` 网卡的内网IP!Forward Port:13378 #暴露端口(若跟着本文未修改 `yaml` 文件中的暴露端口。应为 `13378` )

Bash

Copy

如下图所示

使用服务器部署Audiobookshelf-配置反向代理.png

先不要着急着点 Save ,我们可以为程序添加上 SSL 证书,给他加上一道小绿锁,不过如果你点了也没关系,没点 Save 的朋友点击 SSL ,然后点击 Request a new SSL Certificate ,然后把 Force SSL 和 HTTP/2 Support 打开,修改一下 Email Address for Let's Encrypt 的邮箱,然后 Save 即可;点击了 Save 的朋友,点击右边的三点,点击 Edit ,重复上述步骤即可!

至此,我们已经安装完成 Audiobookshelf 这一个自托管有声读物和播客服务器了,大家记得去 DNS 提供商解析域名哦!
浏览器访问您刚刚设置的域名即可访问!
Ps:需要在腾讯云轻量应用服务器的后台防火墙开放相应端口!默认需要开放 80 tcp 、 443 tcp 与 81 tcp 哦。

7. 简单使用教程

7.1 初始化程序

浏览器你的程序域名,引入眼帘的就是 Initial Server Setup ,我们需要初始化程序,简单地说,就是设置管理员账号密码。

使用服务器部署Audiobookshelf-初始化程序.png

7.2 修改语言

点击 Settings , Default Server Language ,将其改为 简体中文 即可!、

使用服务器部署Audiobookshelf-修改语言.png

7.3 添加资料库

然后我们需要添加资料库,把之前映射到容器内的目录添加上去:
audiobooks 用于有声读物
podcasts 用于播客

使用服务器部署Audiobookshelf-添加资料库-1.png
使用服务器部署Audiobookshelf-添加资料库-2.png

7.4 搜索播客资源

点击一下 Audiobookshelf ,即可进入 Library

使用服务器部署Audiobookshelf-进入Lib.png

然后选择 podcasts 媒体库,左侧边栏选择 查找 ,在搜索框内输入关键字搜索,即可搜索播客资源

使用服务器部署Audiobookshelf-搜索播客资源.png

选择你喜欢的资源下载即可

8. 目前遇到的问题

8.1 境内服务器难以安装 Docker

建议直接执行以下命令,安装 Docker

apt install docker.io

Shell session

Copy

然后,参考小俊之前写过的👉👉👉【教程】CentOS系统Docker的详细安装教程https://www.smalljun.com/archives/3174.html ,安装 Docker-compose ,然后再进行 第6.2步及其后续操作

9. Ending

有问题可以去 GitHub 提 Issues,也可以在评论区互相交流探讨哦!


【实用的开源项目】使用服务器部署Audiobookshelf,一个自托管有声读物和播客服务器的评论 (共 条)

分享到微博请遵守国家法律