Featured image of post 在GCP上搭建Jamulus伺服器

在GCP上搭建Jamulus伺服器

手把手教你在GCP上架設Jamulus的高網速低延遲Server

(最後更新 2023/07/23 16:30 +0800)

在GCP上搭建Jamulus伺服器

今天我們將一起來了解如何在Google Cloud Platform (GCP)上建立一個Jamulus伺服器。Jamulus是一個開源軟體,它讓不同地區的音樂家可以通過網路進行線上實時合奏。
先來看看船長(台灣)Gary(香港)透過Jamulus的線上合奏直播:直播連結

什麼是Google Cloud Platform(GCP)?

Google Cloud Platform是Google提供的雲端運算服務,它提供了多種服務,包括雲端運算、資料儲存、資料分析及機器學習等。

申請Google帳號

首先,您需要擁有一個Google帳號,才能使用GCP的服務。每個新的Google帳號在首次使用GCP時,都會獲得價值300美金的免費使用額度,這項額度可以使用3個月。所以只要你每三個月註冊一個新帳號,就可以實現無限白嫖,薛爛!

如何在GCP上建立Linux Server

接下來,讓我們開始在GCP上建立一個Linux Server

建立執行個體

點此連結打開GCP

文字步驟:建立執行個體

  1. 首先,登入GCP後台,點選左上角三條線的「導覽選單」→ Compute Engine → VM執行個體 → 點擊「建立執行個體」。
  2. 填入以下資訊:
    • 名稱:隨意取一個名字
    • 區域:台灣(或是你想建立的地點) 區域:隨意(預設即可)
    • 系列:N2
    • 機器類型:n2-highcpu-2 (2 個vCPU,2 GB 記憶體) (或更高的vCPU)
  3. 接著設定開機磁碟 → 點擊「變更」
    • 作業系統:Ubuntu
    • 版本:預設
    • 大小(GB):預設(如果你需要錄音的話,可以設置較大的值,例如50GB)
  4. 最後,設定防火牆,允許 HTTP 和 HTTPS 流量,並點擊「建立」即可。

圖解步驟:建立執行個體

點擊「免費開始使用

點擊「免費開始使用」

填完基本資料與信用卡資料,就可免費獲得價值$300美金的抵免額,免費試用期結束後不會自動向您收費,可以放心填,完成後點擊「繼續

填寫資料與信用卡資料,點擊「繼續」

選項可以隨意選,點擊「完成

選項可以隨意選,點擊「完成」

左上角三條線的「導覽選單」→ Compute Engine → VM執行個體 → 點擊「建立執行個體

左上角三條線的「導覽選單」→ Compute Engine → VM執行個體 → 點擊「建立執行個體」

Compute Engine API,點擊「啟用

啟用Compute Engine API

點擊「建立執行個體

點擊「建立執行個體」

執行個體名稱可自訂,其他照著填寫即可

執行個體名稱可自訂,其他照著填寫即可

先別急著按建立,下面也要填!
開機磁碟 → 變更 → 作業系統「Ubuntu」 → 版本「預設」即可 → 點擊選取

開機磁碟 → 變更 → 作業系統「Ubuntu」

防火牆打勾「允許 HTTPHTTPS 流量」後,點擊「建立」。

打勾「允許 HTTP 和 HTTPS 流量」,點擊「建立」

每月預估費用為49.48美金,用三個月也用不完,所以你也可以選擇升級機器類型的vCPU,讓你在Jamulus開的房間可以同時容納更多人,或是開設兩個房間也可以。

設定防火牆

在 GCP 上,我們需要對防火牆做一些調整,以確保我們的 Jamulus 服務可以被外部網路訪問

文字步驟:設定防火牆

  1. 點選左上角三條線的「導覽選單」→ 虛擬私有雲網路 → 防火牆(新帳號設定一次即可)。
  2. 修改default-allow-httpdefault-allow-https的通訊協定和埠 → 全部允許

圖解步驟:設定防火牆

設定防火牆

default-allow-httpdefault-allow-https 都要設定
這裡先點擊 default-allow-http

修改 default-allow-http 與 default-allow-https 設定

default-allow-http,點「編輯

default-allow-http,點「編輯」

通訊協定和埠,選擇「全部允許

通訊協定和埠,選擇「全部允許」

default-allow-https (多一個s)的設定方式同 default-allow-http,一樣將通訊協定和埠改成「全部允許」。

兩個「通訊協定/通訊埠」都是all,表示設定成功

下載與安裝Jamulus

左上角三條線的「導覽選單」→ Compute Engine → VM執行個體

左上角三條線的「導覽選單」→ Compute Engine → VM執行個體

找到剛剛新創建的「jamulus-1」,點擊「SSH」(你的名稱可能跟我不同)

找到剛剛新創建的「jamulus-1」,點擊「SSH」

點擊「SSH」後,會開起一個小黑窗

小黑窗

下載 .deb 檔

首先,你需要從 Jamulus官方文件Running-a-Server 找到以下Installation這個段落。

Installation

英文看不懂沒關係,跟著我做就可以了。

找到「latest headless (amd64) .deb」點右鍵,選擇「複製連結網址

點右鍵,選擇「複製連結網址」

將複製的連結網址,前面加上"wget “指令來安裝,你下載的版本會是最新版,所以版本號若跟我不同是正常的。

完整指令可能會是這樣:

1
wget https://github.com/jamulussoftware/jamulus/releases/download/r3_9_1/jamulus-headless_3.9.1_ubuntu_amd64.deb

記得把 “3.9.1” 換成你剛剛複製的最新的版本號
接下來,將完整指令複製到小黑窗貼上,按Enter送出。
出現以下內容表示下載.deb成功

這指令是下載 .deb 檔

更新系統

在你下載完.deb檔案之後,使用以下指令來更新你的系統

1
sudo apt update

出現以下內容表示系統更新完成

更新完成

安裝Jamulus

接下來用以下指令安裝Jamulus

1
sudo apt install ./jamulus-headless_3.9.1_ubuntu_amd64.deb

記得把 “3.9.1” 換成你剛剛複製的最新的版本號

Do you want to continue? [Y/n] 請填y

遇到 Do you want to continue? [Y/n] 請填y,按Enter繼續

Jamulus安裝完成

出現以上畫面表示安裝完成

設定時區

為了確保Jamulus房間內聊天室的時間正確,我們需要設定伺服器的時區。以下是設定時區的範例指令:

1
2
sudo timedatectl set-timezone Asia/Taipei
sudo timedatectl set-timezone Asia/Hong_Kong

根據你的需求,你可以選擇適合的時區。 若你不知道你的時區名稱,可以輸入以下這句查詢:

1
timedatectl list-timezones

時區查詢輸出畫面

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
...
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
Asia/Taipei
Asia/Tashkent
Asia/Tbilisi
Asia/Tehran
Asia/Tel_Aviv
Asia/Thimbu
Asia/Thimphu
Asia/Tokyo
...

啟用 jamulus-headless

接著,我們要啟用 Jamulus 伺服器。使用以下的指令:

1
sudo systemctl enable jamulus-headless

編輯 jamulus-headless 文件

我們需要編輯 jamulus-headless 文件來設定 Jamulus。首先,打開文件:

1
sudo systemctl edit --full jamulus-headless

接著,往下找到ExecStart,格式為

1
2
3
4
5
ExecStart=/usr/bin/jamulus-headless -s -n -u 150\
--serverinfo "自定義房間名稱;你的所在地;[country ID]"\
--directoryserver "jamulus.fischvolk.de"\
--multithreading\
--fastupdate

country ID 可以從 這裡 查到

1
2
Taipei = 208
Hong_Kong = 97

所以,台灣的使用者可以用以下的程式碼取代原本完整的 ExecStart

1
2
3
4
5
ExecStart=/usr/bin/jamulus-headless -s -n -u 150\
--serverinfo "🎄Yao TW Server🎄;GCP;208"\
--directoryserver "jamulus.fischvolk.de"\
--multithreading\
--fastupdate

房間名稱記得改,不要跟我一樣😂
修改完成後,按下 Ctrl + X,接著輸入 Y 以保存檔案,然後按下 Enter 退出。

重新載入系統daemon

當我們修改了系統設定,需要讓系統重新載入這些新設定,使用以下的指令:

1
sudo systemctl daemon-reload

重新啟動 jamulus-headless

最後一步是重新啟動 Jamulus 伺服器:

1
sudo systemctl restart jamulus-headless

現在,你可以打開 Jamulus 應用程式來看看你的 GCP 伺服器是否正常運作。如果一切都設定正確,你應該可以看到你的伺服器了!可喜可賀🎉

Jamulus伺服器

結論

透過上述的步驟,你應該已經成功地在GCP上架設了一個Jamulus Server。現在,你可以邀請你音樂圈的友人來Jamulus上無延遲合奏啦!

下一篇Jamulus指南預計會介紹以下這些更進階的Jamulus操作

  • 設置聊天室welcome.html
  • 把房間隱藏,改成用ip才能進
  • 把房間架在其他的Genre
  • 在jamulus上錄音

前後花了12小時撰寫這篇文章,希望能對你有所幫助,享受音樂,享受合奏!

參考資料

comments powered by Disqus
使用 Hugo 建立
主題 StackJimmy 設計