快轉到主要內容

論為何應該自架服務(self-hosting),以及具體做法

分類   人文藝術 自由軟體議題
標籤   Privacy Free Software
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

自架服務(self-hosting, self-hosted),又稱「自託管」、「自搭建」,是一個電腦科學術語,代表在私人伺服器跑網路服務,取代大公司提供的網路服務。

參照維基百科對Self-hosting的定義:

Self-hosting is the practice of running and maintaining a website or service using a private web server, instead of using a service outside of someone’s own control. Self-hosting allows users to have more control over their data, privacy, and computing infrastructure, as well as potentially saving costs and improving skills.

比方說,購置一台伺服器放在家裡,安裝Nextcloud,取代Google Drive,資料全部掌控在自己手上,這就是一種自架。

自架服務(self-hosting)指的不僅僅是架設網站、檔案伺服器而已,而是架設私人用的一連串網站服務。所有你想得到的商業網路服務,幾乎都有人做出可以自架的替代品。

本文討論自架的理由,以及具體作法。

自架的理由
#

目前網際網路的時代,人們會找一間提供特定網路服務的公司,使用並依賴他們的服務,將個人資料放在上面。

常見的網路服務有:相簿、日曆、雲端硬碟、部落格、內容管理系統、電子書、影音串流、密碼本、筆記軟體、遊戲串流服務、搜尋引擎、VPN…等等。

可是許多公司以免費為號召,為求盈利,常常出賣的便是使用者的隱私,例如蒐集使用者資料以投放廣告,算是一種等價交換吧。並且為了商業競爭,還會使用各種方法留住用戶,讓使用者將自身的重要資料雙手奉上的同時,提高 下賊船的代價,永遠離不開他們。

在上述前提成立的情況下,如果把個人資料視為一個人的心血結晶,那就是最珍貴的資產。而這個資產是不應該被綁住的。若使用者心有餘力並且在乎自己資料的自主權、隱私權,不想犧牲個人權益讓資料被大公司牢牢控制,唯一的方法就是自架服務。

自架服務不僅僅是架設網站而已,而是架設私人用的一連串網站服務。

擁有自己的伺服器,並在上面跑自己想要的網路服務,隨時隨地的存取,資料完全掌握在你手上,而不會被任何企業控制。

如果還是要使用商業雲端硬碟,那就把他們當冷儲存備份的地方就好了!將檔案加密上鎖丟上去。

硬體系統部分,自架服務通常會跑在Linux系統上,這是開源免費、使用者自主可控的自由系統。

至於要跑的網站服務,網路上有非常多針對同級商業服務的替代品,很多都是開源軟體,使用者可以輕鬆的找到自架的替代方案,並跑在自己的伺服器上。有問題的話只要熟稔使用網路論壇便可以快速得到解答,甚至可以幫忙貢獻功能。

也不是什麼都要自架
#

我也不是說你什麼都得自架,現代人很難離開特定公司的網路服務,尤其很多人每天都要用手機的情況下,有時候自架會帶來麻煩。

例如自架Email的成本非常高,在不寄生大型機構網路的情況下自己架設一個Email server是很耗時,除了要考慮uptime問題外,還要防範釣魚郵件,這就沒有必要。如果想要高隱私的Email,換成Protonmail、Tutanota就行了。

又如多人使用的服務,如果你逼迫同學/同事要配合你使用自架的雲端硬碟,甚至開會系統,搞得過程很麻煩乃至於拖累效率的話,那就得不償失了。

在考慮搞自架的同時,也要在便利與個人權利之間做出取捨。我認為處理的資料牽涉到個人隱私檔案的時候,才值得考慮自架服務。

下面論自架服務的方法,這之中又可以分為租伺服器,以及建設Homelab的做法。

1. 租伺服器
#

租伺服器跟架網站一樣,就是購買主機使用權,例如AWS、GCP、Azure,通常是以用量計價。我知道一個比較特殊的主機商是 PikaPods,他們只賣Docker服務,所以價格很便宜。

但上面不是說不要依賴大公司的商業服務嗎?這裡我們買的是伺服器使用權,而不是僅僅使用商業公司的產品,自主性較大。由於買的是伺服器使用權,如果只做私人用途的話基本上主機商不會管你拿伺服器去做什麼,他也沒那個閒工夫追蹤你。

購買完整伺服器存取權,這樣你就有本錢可以架設自己想跑的服務。

主機商通常會提供能固定存取的IP,若是配合自己購買的網域,則可以隨時隨地SSH連線。

只要錢給的夠多,大型公司提供的主機就不會有斷線問題。

有些主機商還會提供備份與SSL服務,就不用怕本機硬體毀損。

所以你花錢租了伺服器,減少維護成本,同時提供隨時隨地的可用性。

就算買最便宜的方案,用來架個跳板(VPN)也是不錯的用途,可以承接下面homelab的做法。

2. 建設Homelab
#

另外一個方法是買設備建立homelab,在本機建立自己的伺服器環境,放置伺服器的場所可以是自己家、倉庫、或是地下室,只要能連網就行。1990年代,人們就是這樣架設自己的網站的。

長期來看付電費和網路費,可能比租伺服器省錢,日後添購升級也比較容易。

可是維護有點不方便就是,因為我個人認為買現成的NAS產品會變成另一種lockdown,所以我傾向自組伺服器,再安裝Linux/BSD上去。可這又會提升維護成本,包括備份和硬體毀損的問題,還要設定防火牆規則。當你把這些都搞懂,你都成為半個系統維護工程師了。

但自己準備硬體好處很多,那就是進入的成本低,有時候不用特別添購新硬體,拿舊電腦裝Linux/BSD就可以開始亂搞實驗了,畢竟伺服器很多都是headless服務,只吃CPU效能。

還有,很多軟體是考量到讓樹苺派也能跑的,樹莓派能跑你的老舊CPU怎麼就不能跑?

搭配Unraid做備份,再購置UPS確保不會因停電而毀損伺服器。

3. 折衷方法:住商混合社區
#

拿目前你正在使用的主力電腦跑自架服務,作入門練習之用。你說這怎麼可能,就是有可能。現在很多自架服務用 Docker就可以跑起來了,不需要配複雜的環境。就算你主力不是用Linux,Windows仍有虛擬機或 WSL可以用,並且虛擬機東西跟主系統隔離,更方便做實驗了。

只要不在意電費,可以保持電腦不關機(台灣應該沒有常常跳電吧,民主聖地ㄋㄟ),要做自架服務實驗就不難了。

論從外部網路存取家中電腦的方法有很多種,根本不用遠端桌面,也不用架設VPN跳板,只要透過 內網穿透軟體,就可以輕鬆從公開網路連線到私人網路,並且傳輸全程加密。

再把服務架起來,就可以用SSH+網頁面板遠端管理服務了。

想知道更多自架服務實例?
#

相關文章

談五個上網時保護隱私的作法,守護自由與數位公民權
分類   人文藝術 自由軟體議題
標籤   Free Software Linux Privacy
【迷因翻譯】約會時該注意的自由軟體議題 Let's talk about the free software dating scene
分類   人文藝術 自由軟體議題
標籤   Free Software Linux
真開源或假開源? 使用Android與Linux開源軟體前的注意事項
分類   人文藝術 自由軟體議題
標籤   Free Software

留言板

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

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請貼Imgur或Postimages。