你的閒置電腦,可能正在尋找癌症解藥與外星人

封面圖:閒置資源推動科學研究

電腦或伺服器閒置時,多數人可能會選擇挖礦,或者直接關機。但這些閒置資源其實能直接推動人類科學進展。

GitHub 上有一個名為 Good Karma Kit 的專案,它將各種公益運算平台打包成單一的 docker-compose.yml。如果你有一台家用伺服器或 NAS,這是一個非常推薦的整合方案。你只需要下載設定檔,並在檔案中將不需要或佔用過多資源的專案(例如 Archive Team Warrior)註解掉即可輕鬆啟動:

curl -O https://raw.githubusercontent.com/ArchiveBox/good-karma-kit/main/docker-compose.yml
# 編輯 docker-compose.yml 調整資源限制或將不需要的容器註解掉
mkdir -p data
docker-compose up -d

不過,若你不想使用整合包,或者使用的是一般的個人電腦,本篇也特別聚焦其中兩個最具代表性的算力共享平台:Folding@homeBOINC,教你如何在不同系統上進行單獨部署。

⚠️ 資安提醒:整合包的部分項目有可能讓你的路由器的連接埠對整個網際網路開放,部署前請評估資安風險與防火牆設定。

機器的計算極限

為什麼科學家不直接使用超級電腦?

超級電腦面對複雜的 DNA 演變或蛋白質結構預測時,容易陷入龐大且缺乏彈性的窮舉計算中。人類對圖形與規律的直覺能打破這個瓶頸。

2011 年,《Foldit》玩家僅用 10 天就解開困擾學界 15 年的愛滋病逆轉錄酶結構。《邊緣禁地 3》的玩家則透過內建的消除小遊戲,協助處理超過 1.35 億個 DNA 序列比對,該研究成果最後登上了權威期刊《自然-生物技術》。

沒時間親自參與科學解謎,可以直接捐出算力。

平台一:Folding@home (F@h)

這項計畫將蛋白質折疊的巨量模擬任務切成碎片,派發給全球志願者的設備。電腦只需在閒置時於背景執行運算,就能協助科學家分析蛋白質折疊機制。目前推出的最新 v8 版本(代號 Bastet)大幅簡化了架構,將客戶端與網頁控制台(Web Control)分離,並取消了複雜的 Slot 設定,改為自動分配 CPU 與 GPU 資源。

安裝方法 1:家用電腦 (Windows / macOS) 最速解

這是一般使用者最推薦的作法:

  1. 前往 Folding@home 官網 下載 v8 安裝檔並執行。
  2. 程式安裝後會在系統背景常駐。
  3. 開啟瀏覽器進入 https://app.foldingathome.org/ 的 Web Control 介面進行管理與設定。(macOS 用戶請注意:Safari 瀏覽器會阻擋本地連線,請複製 Web Control 網址並改用 Chrome 等其他瀏覽器開啟)

安裝方法 2:Linux 原生指令 (Debian/Ubuntu)

如果你使用的是 Linux 桌面版或伺服器,請至官網下載最新的 deb 套件進行安裝:

sudo apt install ./fah-client_*.deb

註:v8 版本的客戶端會在背景執行 fah-client 服務。安裝完畢後,無需在終端機配置,請直接打開瀏覽器進入 Web Control 登入你的帳號,即可綁定並控制該節點。無介面 (Headless) 伺服器則可透過修改 /etc/fah-client/config.xml 綁定 Account Token。

安裝方法 3:Docker 容器部署 (適合伺服器/NAS玩家)

使用 LinuxServer 維護的映像檔部署能保持系統乾淨。

version: "3"
services:
  foldingathome:
    image: lscr.io/linuxserver/foldingathome:latest
    container_name: foldingathome
    environment:
      - PUID=1000 # 替換為主機 UID
      - PGID=1000 # 替換為主機 GID
      - TZ=Asia/Taipei
    volumes:
      - ./config:/config
    ports:
      - 7396:7396 # 網頁控制台
    restart: unless-stopped

終端機輸入 docker compose up -d 啟動後,打開瀏覽器輸入 http://你的IP:7396 進入控制台。若具備 NVIDIA 顯卡,可於配置中掛載 GPU 資源大幅提升運算力。

Folding@home 網頁控制台介面

平台二:BOINC

這是一個開源的分散式運算平台,類似科學研究的應用程式商店。你可以在上面選擇支援不同領域的學術專案,例如繪製小行星 3D 模型(Asteroids@home)、尋找巨大質數(PrimeGrid)或是參與氣候預測(Climateprediction.net)。使用者能完全控制資源分配,把算力投入自己感興趣的領域。

安裝方法 1:家用電腦 (Windows / macOS) 最速解

  1. 前往 BOINC 官網 下載 BOINC Manager。
  2. 安裝後開啟軟體,會直接跳出「新增專案」列表。
  3. 挑選你想支援的科學計畫(例如 Rosetta@home)。傳統做法上,加入任何新專案都需要獨立註冊帳號。若覺得麻煩,強烈推薦使用 帳號管理服務(Account Manager)。例如 Science United 會根據你的偏好(如醫學、天文、氣候)自動分配專案;若你需要更進階的跨設備或團隊數據統計,則可考慮 BAM! 或是 GridRepublic。只需註冊一次服務,系統就會幫你統一管理所有專案。

安裝方法 2:Linux 原生指令 (Debian/Ubuntu)

透過 APT 套件管理員兩行指令即可搞定:

sudo apt update
sudo apt install boinc-client boinc-manager

安裝方法 3:Docker 容器部署 (附帶網頁 UI)

傳統無介面 (Headless) 的 BOINC 伺服器需要額外設定遠端 RPC 才能用圖形化介面管理。這裡推薦 LinuxServer 的 Docker 版本,內建基於瀏覽器的視覺化介面(Guacamole):

version: "3"
services:
  boinc:
    image: lscr.io/linuxserver/boinc:latest
    container_name: boinc
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Taipei
    volumes:
      - ./config:/config
    ports:
      - 3030:8080 # 網頁版 BOINC Manager
    restart: unless-stopped
    # cpu_shares: 73 # 可選設定:限制 CPU 優先級,避免影響主要服務

啟動後,瀏覽器輸入 http://你的IP:3030 即可打開視覺化介面。在新增專案時,同樣可以選擇登入 Science United、BAM! 或 GridRepublic 等帳號管理員來統一分配,或是手動為特定專案建立專屬帳號,完成認證就能開始貢獻算力。

BOINC Manager 專案選擇畫面


無論你是只有一台平時用來上網的筆電,還是一台全年無休的家用 NAS,都能找到適合的安裝方式。選一個感興趣的專案,讓閒置算力發揮最大價值。

(註:本篇為「貢獻閒置資源」系列第一期。如果你對其他的閒置資源運用感興趣,請持續關注,系列第二期已經在路上了!)