侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 156 篇文章
  • 累计创建 44 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

NAS玩出花儿~Docker搭建一个专属广播电台?!

羊刀仙
2025-05-29 / 0 评论 / 0 点赞 / 7 阅读 / 3883 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2025-05-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

厌倦了千篇一律的流媒体服务?想要一个只播放你喜欢的音乐、只属于你和朋友的小众电台?那么你一定不能错过 Airstation —— 一个优雅、轻量、纯净的在线电台自托管方案。

截屏2025-05-29 13.56.03 拷贝.png

本文将带你从 0 到 1,完整部署这个支持 HLS 流媒体、FFmpeg 转码、Docker 一键部署的开源神器。无论你是 NAS 玩家、家庭媒体中心爱好者,还是想玩点“音乐黑科技”的工程宅——你都能轻松拥有属于自己的网络广播站。

关于Airstation

Your own online radio station.

Airstation 是一个自托管的在线电台(流媒体音频服务) 项目,适合家庭NAS音乐播放、私人播客发布、团队内部广播、户外活动播音或远程音乐分享等多种场景,帮助你快速搭建属于自己的专属音频广播站。

  • 支持通过 Web 上传音乐

  • 提供播放队列管理和极简的听众播放界面

  • 使用 HLS (HTTP Live Streaming) 协议进行音频流传输

  • 数据存储使用 SQLite

  • 后端音频处理使用 FFmpeg

  • 支持 Docker 一键部署(提供 docker-compose.yml)

  • 可部署为私人的广播站 / 在线音乐库

部署流程

本文以威联通NAS为部署演示平台,通过Docker Compose进行部署。

部署代码如下:

version: '3' # 最新版Docker Compose删除该行
services:
  airstation:
    image: cheatsnake/airstation:latest
    container_name: airstation
    ports:
      - "7331:7331" # 冒号左侧端口可自定义
    volumes:
      - /share/Container/airstation/database:/app/storage # 数据库相关
      - /share/Container/airstation/static:/app/static # 音乐文件等的存储位置
    environment:
      - AIRSTATION_SECRET_KEY=ydxian666 # 控制面板登陆密码,别设置太短否则启动不成功
      - AIRSTATION_JWT_SIGN=pMH51SoPKtJE6K0DQluq # 签发 JWT 会话令牌的密钥,这个自己去生成
    restart: always
# docker容器健康检查,我一般会选择删除该部分
    healthcheck:
      test: ["CMD", "wget", "--spider", "-q", "http://localhost:7331/"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 10s

关于文件映射目录,冒号左侧大家根据实际情况进行替换。

关于环境变量- AIRSTATION_JWT_SIGN,可以用以前介绍的工具合集 IT-TOOLS 生成,也可通过openssl rand -base64 32命令来生成。

截屏2025-05-29 10.02.20.png

将代码修改完毕后,打开威联通的Docker管理工具Container Station,创建新的应用程序。将代码复制粘贴进框内,一定注意格式对齐!检查无误后进行创建,如下图所示。

截屏2025-05-29 10.17.16 拷贝.png

这里也附带上 docker run 命令吧:

docker run -d \
  --name airstation \
  -p 7331:7331 \
  -v /share/Container/airstation/database:/app/storage \
  -v /share/Container/airstation/static:/app/static \
  -e AIRSTATION_SECRET_KEY=ydxian666 \
  -e AIRSTATION_JWT_SIGN=pMH51SoPKtJE6K0DQluq \
  --restart=always \
  cheatsnake/airstation:latest

使用介绍

若按上文代码部署完毕,即可浏览器打开项目。

要注意的是Airstation具备两个访问界面。

第一个是管理员专属的控制面板,浏览器输入 NAS_IP:7331/studio/,注意最后这个斜杠一定不要省略,这非常重要!!!下图可以看到我反代之后访问控制面板也是如此。

截屏2025-05-29 10.54.07 拷贝.png

第二个界面就是普通的用户界面,输入NAS_IP:7331或者反代后的域名即可。

截屏2025-05-29 10.56.50 拷贝.png

要想放歌,需要进入控制面板中。

面板很简单,很纯粹,截图如下。并且要注意的的是,顶部进度条有播放进度时才会生效,在第二用户界面用户才可选择播放。

截屏2025-05-29 11.20.55 拷贝.png

🎧 图标表示当前在线人数,因为我要做测试,Safari和Chrome各打开一个网址,因此显示俩人。

右侧的曲库我们可以直接关联已有的曲库,也可后期点击Add添加,实际上传目录是位于/share/Container/airstation/static/track下。Delete为删除。

选中列表中的歌曲,并点击Queue即可添加到左侧的播放列表。

播放列表可以点击🎲骰子随机打乱播放顺序,点击Clera会清空播放列表,但对基础文件并无影响。

截屏2025-05-29 11.24.09 拷贝.png

还有一些注意事项:

播放界面不显示歌词、歌手。第二界面默认是暂停,需要手动点击才会播放;。不支持进度条拖动,播放进度同咱们在直播平台看直播一样(暂停不能保存进度)。

最后

新项目,大家可以去提提建议等参与下。

差不多就这些,感兴趣的可以自建个用用看~

感谢观看,本文完。

0

评论区