网络电台管理套件AzuraCast

在这里插入图片描述

本文完成于 4 月,等 8 月份想起准备发布时才发现,由于版本的变更,原来的截图基本上都已不可用,相当于又重写了一遍,😂,至于为什么这么拖拉?老苏在文末会有交代。

什么是 AzuraCast ?

AzuraCast 是一个自托管的一体化网络广播管理套件。使用其简单的安装程序和强大而直观的网络界面,您可以在几分钟内启动一个完全正常工作的网络广播电台。AzuraCast 适用于所有类型和规模的网络广播电台,甚至可以在最实惠的 VPS 网络主机上运行。AzuraCast 目前是测试版软件,支持 Web 广播的两个黄金标准:IceCast(v2.4)ShoutCast(v2)

老苏个人觉得,AzuraCast 作为音频直播,可以搭一个,用来给家里的小朋友讲讲故事,或者播放背景音乐都是很不错的,当然这点功能用 Audiobookshelf 做点播也是可以的。

官网提供了演示:https://demo.azuracast.com/

  • Username: demo@azuracast.com
  • Password: demo

命令行安装

在群晖上以 Docker 方式安装。

如果你是以 root 或者具有 root 权限的用户登录,可以不需要加前面的 sudo

下载镜像

考虑到镜像比较大,而且镜像库不是我们常用的 dockerhub ,而是 ghcr.io,所以老苏强烈建议你先下载好镜像,而不是通过脚本下载。

老苏用过多合一的镜像 ghcr.io/azuracast/azuracast:stable,也用过单独的版本

在这里插入图片描述

需要注意的是,老苏下载的是稳定版(stable),这个多合一容器中包含整个应用程序、数据库、缓存以及广播控件;

在这里插入图片描述

SSH 登录带群晖,通过命令行方式下载

# 下载镜像
docker pull ghcr.io/azuracast/azuracast:stable

ghcr.io 的镜像如何下载,可以参考『 下一代协作型知识库AFFiNE 』的相关章节

最好是镜像下载成功了才开始执行下面的操作,当然这不是必须的,只是老苏的个人建议

下载脚本

SSH 客户端命令行中依次执行下面的命令

# 新建文件夹 azuracast 和 子目录
mkdir -p /volume2/docker/azuracast/stations

# 进入 azuracast 目录
cd /volume2/docker/azuracast 

# 修改 stations 目录权限
chmod 777 stations

# 下载 docker.sh 文件
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/docker.sh > docker.sh

# 如果下不动可以试试加载代理的
curl -fsSL https://ghproxy.com/raw.githubusercontent.com/AzuraCast/AzuraCast/main/docker.sh > docker.sh

# 修改 docker.sh 权限
chmod a+x docker.sh

如果不修改 stations 目录权限,在创建电台时,有可能会显示没有创建目录的权限

在这里插入图片描述

配置端口

接下来开始配置端口,我们打算用 2080(http)2443(https)2022(sftp)端口,如果你的这几个端口已使用,可以试试其他的端口

# 查看端口占用
netstat -tunlp | grep 端口号

# 配置相关的环境变量
sudo ./docker.sh setup-ports

在这里插入图片描述

这一步会在当前目录生成 .env 文件,现在查看到的文件内容

在这里插入图片描述

指定目录

新建 docker-compose.override.yml 文件,内容如下:

services:
  web:
    volumes:
      - /volume2/docker/azuracast/stations:/var/azuracast/stations

将其上传到 azuracast 目录

在这里插入图片描述

服务配置

# 设置镜像的版本
sudo ./docker.sh install
  • 需要选择版本,Roling Release 或者 Stable,老苏输入了小写 y,选择了 Stable 版本;
  • 选择了不更新脚本,输入了小写的 n

如果直接退出说明下载脚本遇到了问题,一般都是 curl 错误,例如:

  • curl: (35) Unknown SSL protocol error in connection to raw.githubusercontent.com:443
  • curl: (28) Operation timed out after 300361 milliseconds with 0 out of 0 bytes received

如果你的网络支持科学上网,下面的内容可能会有帮助

# 加入白名单
github.com
githubusercontent.com
ghcr.io

如果安装失败继续执行 sudo ./docker.sh install

但是需要注意版本的选择,这次 y 是选择 Stable 版本,下一次则是 N 才是 Stable 版本,一定要看仔细

中间也会有 .FileNotFoundError 报错,但是程序如果可以继续执行的话,就可以不用管

在这里插入图片描述

选择语言 zh_CN

在这里插入图片描述

AzuraCast 安装都选择 no

有可能会遇到 AzuraCast.ERROR

在这里插入图片描述

但只要看到 Creating azuracast ... done 就成功了

在这里插入图片描述

除了下载了所需的镜像外,还生成了一些设置文件

在这里插入图片描述

如果环境稳定,也会帮你完成镜像的安装,如果一切正常,你可以跳到 运行 章节,否则的话,请继续往下看

编辑环境

vi 编辑 .env 文件,启用下面的内容

需要注意,现在的 .env 文件和开始的 .env 文件不同,增加了大量中文的注释

AZURACAST_PUID=1000
AZURACAST_PGID=1000

在这里插入图片描述

如果你不习惯 vi 编辑器,可以在 File Station 中,将 .env 重命名为 .env.txt 然后再编辑,记得完成后重命名为 .env

在这里插入图片描述

一键启动

需要先停止然后再启动,以便后面修改的内容生效

# 一键停止
sudo docker-compose down

# 如果要删除所有卷,包括数据库,末尾加 -v 标志
sudo docker-compose down -v

# 一键启动
sudo docker-compose up -d

如果反复启动都存在问题,建议用 sudo docker-compose down -v 清除干净再启动

在这里插入图片描述

运行

在浏览器中输入 http://群晖IP:2080 就能看到注册管理员用户界面

软件会自动显示中文,不需要另外设置

只有都符合要求时,才会出现 创建账号 按钮

登录后进入设置向导,带星号的是必填的,【个人资料】中,老苏就改了下面两项,其他的都是用的默认值,请根据自己的需要设置

  • 名称:例如 laosu radio
  • 时区:选 Asia/Shanghai(UTC+8)

在这里插入图片描述

【自动DJ】中,老苏勾选了 允许歌曲请求

在这里插入图片描述

最后是一些系统设置

  • 网站基础网址:例如: http://群晖IP:2080
  • 保留的播放历史记录天数:选了 最近 14 天
  • 如果你使用了反代,一定要勾选 使用网络代理进行广播

在这里插入图片描述

设置完成

在这里插入图片描述

上传 音乐文件

勾选所有上传的文件

在这里插入图片描述

保存为播放列表

只有将音乐添加到播放列表中才能流式传输

在这里插入图片描述

开始电台,来启动广播服务和 AutoDJ 服务

在这里插入图片描述

开始电台 按钮

在这里插入图片描述

公开页面 中就能看到了并进行收听了

在这里插入图片描述

当然,AzuraCast 的功能远不止这些,有兴趣可以深入研究。

遗留问题

老苏在 PC 浏览器中没有声音(试过 chromesafariEdge),浏览器中显示有声音,但是听不到,也尝试过启用 Enable HTTP Live Streaming (HLS),结果时一样的

在这里插入图片描述

但是在手机浏览器中则正常(试过小米浏览器和 Edge,不过音量偏小),实在有些不解,这也是为什么从 4 月份拖到现在的主要原因。

在这里插入图片描述

次要原因了么是 AzuraCast 的安装过程中对网络有较高的要求,如果没有稳定的科学上网环境,会让原本简单的安装变得繁琐且易出错。

参考文档

AzuraCast/AzuraCast: A self-hosted web radio management suite, including turnkey installer tools for the full radio software stack and a modern, easy-to-use web app to manage your stations.
地址:https://github.com/AzuraCast/AzuraCast

Installing AzuraCast on a Synology NAS | AzuraCast Docs
地址:https://docs.azuracast.com/en/getting-started/installation/synology

Help with installing Azuracast on Synology Docker · Issue #3407 · AzuraCast/AzuraCast
地址:https://github.com/AzuraCast/AzuraCast/issues/3407

配置 HTTPS 的公共站点上没有声音 · 问题 #1786 · AzuraCast/AzuraCast
地址:https://github.com/AzuraCast/AzuraCast/issues/1786

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值