快轉到主要內容

自組Linux伺服器,自架服務(Self-hosting)需要的硬體與常用軟體

· 民國113年甲辰年
· ·
分類   Linux系統 Self-hosting自架
標籤   Linux
目錄

本文分享Ivon個人跑自架服務(self-hosting)的環境,供讀者參考。

這篇文章會敘述Linux伺服器的硬體和軟體設定,以及分享從外面的網路連線到自家內網的伺服器。

1. 自架有何好處
#

參見論為何應該自架服務一文,許多線上服務都有自架替代品。

至於說自架都跑什麼服務呢?從簡單的擋廣告服務,到BT下載、相簿、影音串流、音樂串流、遠端書庫、雲端硬碟、搜尋引擎、Youtube鏡像站、自架ChatGPT、AI繪圖、雲手機、串流遊戲的服務都有。更多請見本站自架雲端服務的分類。

我不會讓太多服務同時上線,視乎硬體資源會關掉部份服務。

2. 跑自架服務需要的硬體
#

端看服務需求。

輕量服務只要一塊「Raspberry Pi」或一台「Intel NUC迷你電腦」就行了。

對作業系統不熟的,購買一台「NAS」吧,現成的硬體對新手來說比較好上手,組RAID會比較方便。

而我是選擇較為自由的自組派,把手弄髒(get hands dirty)學得更快。目前用舊x86電腦改裝成Linux伺服器,不計電費消耗,也沒有組RAID。

詳細規格:

  • 主機板:ASUS K31CD-K,可插兩條RAM,還有6個硬碟。
  • CPU:Intel i5-7400,伺服器四核心CPU就夠用了。
  • RAM:16GB DDR4,有點太高級了,低標4GB RAM即可。
  • GPU:Nvidia GTX1050Ti。GPU其實不是伺服器必備的,但近年來生成式AI讓顯示卡價值大增,所以添購顯示卡不會虧的。
  • 儲存空間:1TB SSD + 1 TB HDD。我在Linux有啟用LVM,所以未來可以動態擴增硬碟。
  • 作業系統:當然是GNU/Linux。選一個比較多人用且穩定發表的發行版吧,個人推薦Ubuntu,或者Debian、Rocky Linux、openSUSE Leap、Proxmox這類穩定發表的發行版,不要用滾動發行版。Linux要不要裝圖形界面看個人選擇,我至少還是有留桌面環境方便除錯。

3. 常用系統軟體
#

為了系統穩定度考量,我很少讓Linux伺服器的服務直接跑在裸機上,大部份會將其容器化,或者關在虛擬機裡面跑。

  • OpenSSH:遠端登入。
  • Auditd:檢查系統操作紀錄。
  • UFW:防火牆,你要用Firewalld也行。
  • Libvirt + QEMU/KVM:虛擬機,啟用GPU直通。跑較為重型的服務,例如雲端遊戲串流,或是沒辦法容器化,需要動到系統套件部署的服務。
  • Docker或Podman:容器技術,比虛擬機輕量的解決方案,大部份服務都用這個跑。Docker目前還是主流的容器化方案。
  • LXC:容器方案,Docker生態系優勢太大,只有特殊場合會用到。
  • Kubernetes:進階用途。除非你擁有好幾台電腦組成叢集,否則這東西是牛刀殺雞。
  • Portainer:網頁管理Docker容器的界面。
  • Cockpit:網頁管理QEMU/KVM虛擬機的界面。

4. 外網連內網的軟體
#

讓自架服務能從外網連線到內網的工具軟體。在下面列出的軟體中,Tailscale是最簡單的方案,幾乎不用設定,個人使用的話夠用了,推薦先從這個開始嘗試。

  • Tailscale:內網穿透與VPN,安裝簡單,適合單人使用。
  • ZeroTier:內網穿透與VPN,可以設定很複雜的規則,適合大型組織使用。
  • Cloudflare Tunnel:加密隧道,將本機伺服器的服務公開到公共網路,不用VPN就能從外網存取內網的服務。支援自訂網域。
  • Port Forwarding + No-IP DDNS:通訊埠轉發與動態DNS

相關文章

Cockpit教學:用網頁瀏覽器管理QEMU/KVM虛擬機,替代Virt Manager
分類   Linux系統 Self-hosting自架
標籤   Libvirt PCI Passthrough GPU Passthrough QEMU-KVM Podman Docker Linux
Sunshine:Linux版Moonlight教學,自架免費雲端串流遊戲服務+遠端桌面
分類   Linux系統 Self-hosting自架 Linux玩遊戲
標籤   Moonlight Game Streaming Cloud Gaming Remote Desktop Steam Linux
RustDesk使用教學:開源免費遠端桌面,可自架
分類   Linux系統 Self-hosting自架
標籤   RustDesk Remote Desktop Linux Windows MacOS

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。