內容目錄
🐳 告別黑畫面地獄!Dockge 讓 Docker Compose 變成「一鍵點選」的家用伺服器神器(含血淚踩雷真實案例)
🔥 站長老實說懶人包:
你有沒有這種經驗?家裡 NAS 或便宜 VPS 上跑了 Plex、Nextcloud、AdGuard,每次要更新或重啟,就得打開終端機敲一長串 docker compose up -d,敲錯一個字母整個 Stack 就炸了。Portainer 功能太重、吃記憶體,Yacht 又太新手向……這時候 Dockge 出現了。它堅持「檔案本位」,把 compose.yaml 完整還給你,介面漂亮、記憶體只吃 30–60 MB,還是 Uptime Kuma 作者 Louis Lam 的作品。2025 年 3 月 v1.5.0 已修復嚴重 Console Injection,但 Docker Socket 這把「萬能鑰匙」永遠是雙面刃。本篇用台灣日常比喻+真實 Reddit 挖礦血案,告訴你該不該裝、怎麼安全裝 🎯
🌐 Github官方網址 ㊙️ [24]
📌 這到底是什麼?把 Docker 貨櫃屋變成「可點選的裝潢圖」
想像一下:Docker 容器就像一棟棟獨立的「虛擬貨櫃屋」。你在裡面裝了私人雲端硬碟(Nextcloud)、媒體中心(Plex)、廣告過濾器(AdGuard Home)。而 compose.yaml 就是這整排貨櫃屋的「裝潢與水電配置圖」——哪個容器用哪個通訊埠、要掛載哪塊硬碟、環境變數怎麼寫,全部寫在這張圖上 🏠
過去,要指揮這些貨櫃屋,你只能坐在純黑白的終端機前,像打字機一樣敲指令。敲錯一個字母、少一個空格,整個服務就掛掉。這對 Homelab 玩家來說,簡直是每天都在玩「拆彈遊戲」 💣
Dockge 就是來解決這個痛點的。它是一個專為 docker-compose.yaml 量身打造的圖形化、反應式網頁儀表板。你可以用滑鼠點擊建立、編輯、啟動、停止、重啟整個 Stack(堆疊/專案)。截至報告撰寫時,GitHub 已超過 23,800 顆星,最新穩定版為 2025 年 3 月 30 日釋出的 v1.5.0 🚀
作者 Louis Lam 同時是擁有超過 8 萬星的系統監控神器 Uptime Kuma 的開發者。他透過 Open Collective 贊助與個人熱情,把 Uptime Kuma 那套「極簡、反應式、所見即所得」的設計哲學完整帶進了 Dockge 👏
💡 碎碎念:為什麼叫「檔案本位」(File-based)?因為 Dockge 不會把你的設定「吸進」自己的資料庫鎖死。它只是監控你指定的本機資料夾(預設 /opt/stacks/),你在那裡建子資料夾放 compose.yaml,介面就會即時顯示。隨時可以切回終端機用 docker compose up,或用 Git 做版本控制,完全不綁架你 🔓
🚀 五大核心功能:到底能幹嘛?
❶檔案本位的堆疊管理(最顛覆的一點)
Portainer 會把 Stack 設定「吸入」專屬資料庫,之後你想用 Git 管理或直接改檔案就很痛苦。Dockge 完全相反:你的 yaml 永遠是真實檔案,留在硬碟上。這對習慣 GitOps 的獨立開發者來說,簡直是天堂 💯
❷雙向同步的 YAML 編輯器+即時日誌
左邊是語法高亮的純文字編輯區,右邊是圖形化表單(通訊埠、儲存空間、環境變數一鍵填)。點「部署」後,拉取映像檔與啟動進度會以毫秒級延遲即時推送到畫面上。結構太複雜的 yaml 圖形表單可能解析不全,這時就切回左邊文字編輯器微調即可 🛠️
❸多主機代理模式(Multi-Agent)
從 1.4.0 版開始,你可以設定一台當主控台,其他機器跑 Agent,透過 WebSocket 通訊。多台 VPS 或家用伺服器的狀態全部集中在一個介面,省去來回切換的麻煩 🌐
❹Docker Run 指令自動轉換器(新手殺手級功能)
網路上一大堆教學還在給 docker run -d -p 8080:80 … 這種長指令。貼進 Dockge,它會自動翻譯成整齊的 compose.yaml。這對剛入門的大學生或小資族來說,學習曲線直接砍半 🎉
❺網頁版終端機……被「安全妥協」了
原本可以直接在網頁點進容器內部開 Shell 除錯。但 2025 年 3 月爆發 Console Injection 漏洞(GHSA-7vx4-hf96-mqq6)後,v1.5.0 直接預設關閉這功能。若堅持要用,得手動把環境變數 DOCKGE_ENABLE_CONSOLE=true 打開,並自己承擔風險。官方首頁也沒特別強調這項「閹割」 🙅♂️
🧑🔧 DevOps小知識:Dockge 必須掛載宿主機的 /var/run/docker.sock 才能控制其他容器。這個 Socket 等於 Docker 引擎的「大腦神經幹」,擁有等同 root 的權限。一旦介面被攻破,攻擊者可以任意掛載系統目錄、植入惡意程式,甚至容器逃逸。這不是 Dockge 寫得差,而是所有 Docker 圖形化管理面板的共同架構原罪。建議搭配 docker-socket-proxy 限制危險 API 🛡️
🖥️ 系統需求與安裝門檻:到底難不難?
| 評估維度 | 詳細規格 |
|---|---|
| 支援作業系統 | Ubuntu、Debian(Bullseye 以上)、Raspbian、CentOS、Fedora、ArchLinux。不支援 Windows,也不支援過舊的 Debian Buster |
| 硬體架構 | amd64、arm64(樹莓派、Mac M 系列)、armv7 |
| 記憶體消耗 | 閒置約 30–60 MB(Portainer 通常要 100–200 MB) |
| 核心依賴 | Docker Engine 20.10 以上,或 Podman(需 podman-docker)。高度依賴 Compose V2 |
安裝門檻給 四顆星:完全不懂終端機的純小白會卡關,因為你必須先用黑畫面建資料夾、寫第一個啟動 Dockge 自己的 compose.yaml,再敲 docker compose up -d。但一旦裝好,後續日常維運就能 100% 用網頁介面完成。這是典型的「雞生蛋」困境——要管理 Docker,卻得先會一點 Docker 😅
🫂 新手求助:官方 GitHub README 寫得很清楚,中文教學可搜「Dockge 完整教學」或參考 Proxmox VE Helper Scripts。卡關時可到 Reddit r/selfhosted 或 GitHub Issues 發問,社群回應速度通常不錯。第一次建議先在虛擬機或便宜 VPS 練習,不要直接拿主力 NAS 試 🛑
🩵 荷包試算:Dockge 本身 100% 免費、MIT 授權、零遙測。它不收訂閱費、不強迫你買 Pro 版。唯一成本是你自己的伺服器電費或 VPS 租金。跟 Portainer CE 一樣免費,但資源吃得更少,對小資族的樹莓派或舊筆電更友善 💰
🎭 四種真實情境:你該不該用?
🙋 一般輕量使用者/狂熱 Homelabber(高適合)
家裡一台 Synology NAS 或退役舊電腦,跑 Plex、Nextcloud、AdGuard Home。你只想有個漂亮儀表板看服務有沒有掛,更新時按一個按鈕就好。Dockge 介面乾淨、資源極低,幾乎是為你量身打造 👌
👨💻 獨立開發者/接案工作室(高適合)
租一台便宜 VPS,上面用 Docker 部署客戶的 WordPress + MySQL。你習慣把配置檔放 GitHub,用 Watchtower 自動更新。Dockge 的檔案本位讓你 git pull 後直接在網頁重啟,完美銜接 GitOps,不用擔心設定被鎖死在管理工具裡 💻
🏢 企業商業用途(不適合)
公司有多個開發團隊,需要「前端只能看日誌、不能重啟資料庫」這種細緻權限。Dockge 完全沒有 RBAC、沒有 SSO/OIDC、沒有稽核日誌。所有登入者看到的都是最高權限介面。企業生產環境請直接跳過,改用 Portainer 或具備嚴格權限控管的方案 🚫
🚨 高風險誤用場景:真實 Reddit 挖礦血案
這是發生在 Reddit r/docker 的真實案例,完美展示「把 Docker Socket 管理面板裸奔公網」的災難後果:
- 使用者在雲端 VPS 裝了 Dockge,為了方便直接把預設 5001 埠暴露在公網,還設了超弱密碼 🔑
- 攻擊者用自動化掃描找到登入頁,弱密碼輕易猜中 ⚠️
- 因為綁了 docker.sock,攻擊者直接在介面新增惡意專案,把宿主機根目錄 / 掛進去,寫入 Systemd 腳本,每次開機自動下載 XMRig(門羅幣挖礦程式) 💸
- 結果:CPU 飆到 300%、記憶體被榨乾,直到收到雲端帳單與警告才發現 😱
🚨 畫重點!千萬別踩雷:永遠不要把具備 Docker Socket 權限的管理面板直接暴露在公網。請藏在 Tailscale / WireGuard VPN 後面,或用帶嚴格認證(Authelia、Authentik)的反向代理。弱密碼 + 公開埠 = 免費挖礦機 ⛏️
🔐 隱私、資安與已知漏洞
Dockge Zero Telemetry,不回傳任何遙測資料。配置檔、密碼、環境變數全部留在你自己的硬碟。不對外連網時,完全可以當內網離線工具用 🔒
已知重要資安事件:
- Console Injection(GHSA-7vx4-hf96-mqq6):2025 年 3 月揭露並修復。網頁終端機輸入驗證缺陷,允許已登入使用者做 Shell 指令注入。v1.5.0 直接預設關閉終端機功能 🛑
- WebSocket Origin 驗證繞過(CVE-2023-49805):與 Uptime Kuma 共用底層程式碼導致。舊版已修復,目前最新版無此問題 ✅
- 密碼變更未撤銷 Session(GHSA-88j4-pcx8-q4q3):改密碼後舊連線仍可繼續使用。後續版本已修正 👍
企業機密資料?絕對不適合。單點故障 + 權限過大 + 無稽核,是資安合規的惡夢 💀
📜 授權與法律合規:MIT 超寬鬆
採用 MIT License,開源界最友善的條款之一:
- 個人自架/Homelab:完全沒問題 ⭕
- 商業 SaaS 代管:可以包裝成付費服務賣給客戶 💼
- 整合進閉源產品:可以修改原始碼深度整合,只要在宣告文件附上 MIT 聲明與版權告示即可。沒有 GPL/AGPL 的「傳染性」風險 ✨
無資料爬蟲、無 AI 模型、無雲端代管服務,GDPR/個資法風險極低——合規責任在於你在 Docker 上部署了什麼服務,而不是 Dockge 本身 ⚖️
😤 真實使用者痛點(Reddit + GitHub 真實聲音)
- 缺乏單一容器視角與垃圾清理:Dockge 強迫你用「Stack」思考。想刪懸空映像檔或清理閒置 Volume?介面完全找不到按鈕,最後還是得開終端機敲 docker system prune 🧹
- 日誌查看器過於簡陋:整個 Stack(網頁伺服器 + 資料庫 + 快取)的日誌全部混在同一個視窗,錯誤時大海撈針。很多玩家另外裝 Dozzle 來補這塊短板 🛠️
- 棄坑恐慌:2024 年初到 2025 年初曾有長達 11 個月沒發新版的空窗期,Reddit 與 GitHub 上充斥「開發者是不是放棄了?」的討論。v1.5.0 釋出後稍微平息,但仍凸顯單一維護者(Bus Factor)的風險 ⚠️
- 圖形化微調能力有限:想設 CPU/記憶體上限、或做 Macvlan 網路橋接,圖形表單支援不完全,最終還是得回 yaml 手動寫 ✍️
另外,GitHub Issue #849 曾有資安研究員提交「Critical Security Assessment」,指控掛載 docker.sock 是 P0 致命漏洞。社群反駁「這不是 bug,是這類工具的先天架構限制,Portainer 也一樣」。最終妥協:維持直連設計確保易用性,但強烈建議文件加強網路隔離警告,並呼籲用 docker-socket-proxy 🛡️
🔄 替代方案怎麼選?決策樹一次看懂
| 功能維度 | 🐹 Dockge | 🐳 Portainer CE | 🦎 Komodo | ⛵ Yacht |
|---|---|---|---|---|
| 設計哲學 | 檔案本位(Compose 導向) | 萬物皆可管(資料庫導向) | 艦隊管理(CI/CD) | 樣板導向(一鍵安裝) |
| 資源消耗 | 極低 ~50MB | 偏高 100–200MB | 中等(Rust) | 極低 |
| 組態檔控制權 | 留存在本機硬碟 | 鎖死在內部資料庫 | 可與 Git 雙向同步 | 鎖死在內部資料庫 |
| RBAC 權限 | ❌ 無 | ✅ 細緻角色 | ✅ 精細權限 | ❌ 無 |
| 進階叢集 | ❌ | ✅ Swarm/K8s | ❌ | ❌ |
| 適合誰 | 喜歡自己掌控 yaml、單人管理 | 企業/需要權限控管 | 多伺服器自動化部署 | 純新手一鍵安裝 App |
🌳 選擇建議決策樹
- ✨ 喜歡自己寫 yaml、伺服器越乾淨越好、只有自己在管 → 強烈推薦 Dockge,搭配 Dozzle 補日誌短板,堪稱輕量級黃金組合 🌟
- ✨ 純新手、只想點選安裝 Plex/Nextcloud → Yacht ⛵
- ✨ 需要 Swarm/K8s 或細緻 RBAC → Portainer 或 Komodo 🦎
📊 綜合風險評級與總結評分
| 使用族群 | 綜合風險 | 核心風險點 | 強制建議 |
|---|---|---|---|
| 一般個人/學生 | 中低 | 貪方便把 5001 埠公開 + 弱密碼 | 用 Tailscale/ZeroTier,設高強度密碼 |
| 獨立開發者/工作室 | 中低 | 單一維護者,未來可能停更 | 把 /opt/stacks 納入 Git 定期備份,即使停更也能用終端機接手 |
| 中大型企業 | 極高 | 無 RBAC、無稽核、Socket 等同 Root | 嚴格禁止生產環境。開發環境也請搭配 socket-proxy + SSO |
🏁 總結評分(10 分制)
| 評分項目 | 分數 | 一句話評語 |
|---|---|---|
| 介面易用性 | 8 | 反應快、極簡漂亮,但首次安裝仍需終端機基本功 |
| 功能完整性 | 7 | Compose 管理做到極致,缺單一容器清理與優質日誌 |
| 資料安全性 | 6 | 零遙測加分,但 Socket 高權限 + 近期才修 Console Injection,容錯率低 |
| 安裝易用性 | 8 | 裝好後超直覺,但「先會 Docker 才能裝管理 Docker 的工具」這關仍在 |
| 維護活躍度 | 6 | 依賴單一神級開發者,2024 年有近一年空窗,長期隱憂 |
| 法律合規性 | 10 | 純本地、MIT、無隱私外流,完美符合資料主權 |
| 在地化(繁中支援) 🇹🇼 | 7 | 介面以英文為主,社群有中文教學但官方文件無繁中 |
| 🏆 加權總分 | 約 7.3 | 最終建議:【謹慎使用】 |
✅ 強力推薦給個人與進階 Homelab 玩家;強烈不建議企業生產環境。如果你信奉「做一件事並把它做好」的 Unix 哲學,又懂得不把管理介面裸奔公網,Dockge 絕對能大幅提升日常維運幸福感 🥳
🛠️ 附錄:快速安裝思路(非正式教學,僅概念)
典型流程是:建立資料夾 → 寫一個啟動 Dockge 自身的 compose.yaml(掛載 docker.sock 與 stacks 目錄)→ docker compose up -d → 瀏覽器開 http://你的IP:5001 設定帳密。詳細指令請以官方 GitHub README 為準,避免過時 📖
🚨 再次強調:裝完後立刻把介面藏在 VPN 後面,並設定超強密碼。Docker Socket 是雙面刃,安全第一 🛡️
📚 參考資料與延伸資源
- 📌 Dockge 官方 GitHub [24]
- 📌 Dockge Releases [35]
- 📌 Dockge Security Advisories [36]
- 📌 Critical Security: Docker socket exposure Issue #849 [37]
- 📌 Reddit:VPS 被 Dockge 挖礦劫持真實案例 [38]
- 📌 Portainer vs Dockge 比較文 [39]
- 📌 XDA:為什麼我從 Portainer 回到 Dockge [40]










