厭倦了千篇一律的流媒體服務?想要一個只播放你喜歡的音樂、只屬於你和朋友的小衆電臺?那麼你一定不能錯過 Airstation —— 一個優雅、輕量、純淨的在線電臺自託管方案。
本文將帶你從 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命令來生成。
將代碼修改完畢後,打開威聯通的Docker管理工具Container Station,創建新的應用程序。將代碼複製粘貼進框內,一定注意格式對齊!檢查無誤後進行創建,如下圖所示。
這裏也附帶上 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/,注意最後這個斜槓一定不要省略,這非常重要!!!下圖可以看到我反代之後訪問控制面板也是如此。
第二個界面就是普通的用戶界面,輸入NAS_IP:7331或者反代後的域名即可。
要想放歌,需要進入控制面板中。
面板很簡單,很純粹,截圖如下。並且要注意的的是,頂部進度條有播放進度時纔會生效,在第二用戶界面用戶纔可選擇播放。
🎧 圖標表示當前在線人數,因爲我要做測試,Safari和Chrome各打開一個網址,因此顯示倆人。
右側的曲庫我們可以直接關聯已有的曲庫,也可後期點擊Add添加,實際上傳目錄是位於/share/Container/airstation/static/track下。Delete爲刪除。
選中列表中的歌曲,並點擊Queue即可添加到左側的播放列表。
播放列表可以點擊🎲骰子隨機打亂播放順序,點擊Clera會清空播放列表,但對基礎文件並無影響。
還有一些注意事項:
播放界面不顯示歌詞、歌手。第二界面默認是暫停,需要手動點擊纔會播放;。不支持進度條拖動,播放進度同咱們在直播平臺看直播一樣(暫停不能保存進度)。
最後
新項目,大家可以去提提建議等參與下。
差不多就這些,感興趣的可以自建個用用看~
感謝觀看,本文完。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com