📚我把「明天再看」的地獄變成私人圖書館:⚡Linkwarden 深度開箱評測
🌟 你的書籤撐得過網站倒站潮嗎?Linkwarden 深度開箱評測:連結腐爛救星,還是資安未爆彈?
🔥 懶人包:
收藏了一篇好文章,半年後點開變成 404 Not Found?這就是「連結腐爛(Link Rot)」。開源工具 Linkwarden 專治這個病——存連結的同時,會把整個網頁拍成截圖、轉成 PDF、存成單一 HTML 檔,四種格式一次到位,宛如你自己的私人 Wayback Machine。截至 2026 年 7 月,這個專案已累積超過 19,000 顆 GitHub 星星與1,100 萬次 Docker 下載,人氣不假。但今天要跟大家老實說:它同時也是一支貨真價實的「網路爬蟲」,過去曾爆出三個高危 CVE 漏洞,架設前你該知道的風險,這篇一次講清楚 🙆♂️
如果你的瀏覽器書籤列已經長到要捲三頁、Pocket 密碼早就忘記、Notion 收藏頁塞了 300 篇「之後再看」文章,這篇文章就是為你寫的 🧐
先說一個殘酷事實:網路內容並不是永久保存的。你今天收藏的教學文、深度分析、產品比較,明天可能就因為網站改版、部落客棄站、伺服器到期而消失,就像把重要便條紙貼在巷口早餐店的公佈欄上——早餐店哪天收掉了,便條紙也跟著不見,你根本沒有留底 🙅♂️
Linkwarden 想解決的正是這個問題,而且它的野心不只是「存網址」,而是「收藏一個連結的同時,也把這個連結當下的內容整個典藏下來」。接下來我們從專案本質、核心功能、資安真相到適用情境,把這款工具從裡到外拆解一遍 🤤
內容目錄
📌 一、Linkwarden 是什麼?它不只是書籤工具,是一支「典藏型爬蟲」
Wayback Machine 是網路上知名的公共網頁時光機,任何人都能查詢某個網站過去長什麼樣子。Linkwarden 的邏輯幾乎一樣,差別在於這台時光機完全屬於你自己,資料存在你自己的主機上 ⏳
當你存入一個網址時,Linkwarden 並非只是記下這串字元,而是會在伺服器背景派出一支隱形自動化程式去實際造訪該網頁,立刻為當下的畫面「拍下高解析度截圖」、「轉成 PDF」、「存成單一完整 HTML 檔」,甚至萃取出乾淨的純文字閱讀版。這個專案主要由開發者 Daniel(daniel31x13)與 Taki Elias 等人主導維護,社群生態相當活躍,衍生出瀏覽器擴充功能與第三方行動 App 📸
🚨 先天限制別忽略:
正因為本質是「網路爬蟲」,Linkwarden 極易跟目標網站的服務條款(ToS)產生衝突。社群已有真實回報:從 Facebook App 分享貼文去封存時,爬蟲會直接被平台擋下,導致封存失敗;面對新聞媒體的付費牆,因為伺服器抓取時沒有你本地瀏覽器的登入 Cookie,往往只能存到「請登入以閱讀全文」的遮蔽畫面;而歐盟網站常見的巨大 Cookie 同意橫幅,也經常讓截圖存下來的是滿版警告,而不是文章真正的內文。這些都是仰賴爬蟲技術典藏時,難以避免的先天限制,不是 Bug 🐛
🛠️ 二、核心功能拆解:官方宣傳 vs 真實運作穩定度
官方宣傳 Linkwarden 是「一站式收集、閱讀、標註並永久保存重要資訊」的平台。以下逐項拆解,看看是不是真的名不虛傳 ✨
- 網頁自動封存(Auto Capture):透過微軟開源的無頭瀏覽器框架 Playwright 渲染目標網頁,產生 PDF、PNG 截圖、HTML 三種檔案。對純文字部落格效果極佳,但遇到大量依賴 JavaScript 動態載入、或有 Cloudflare 反機器人防護的網站,容易觸發驗證碼挑戰,最後存下來的可能只是一片空白或「請證明您是人類」的畫面 🌟
- 閱讀與標註(Read & Annotate):類似 Pocket、Instapaper 的純淨閱讀模式。v2.15 版本大幅強化,新增四種顏色螢光筆畫線與段落筆記,搭配全新 iOS/Android 原生 App,支援「完全離線模式」——App 會背景預先下載所有截圖與 PDF,沒網路(例如飛機上)也能流暢閱讀標註。這項功能經過長時間迭代,目前表現相當穩定 📝
- AI 自動標籤:可串接 OpenAI 等商業 API,或接本地端 Ollama 模型分析網頁內文自動貼標籤。但跟主打 AI 知識庫的競品相比,客製化程度偏弱,難以自訂複雜提示詞(Prompt)產出特定格式摘要,重度知識工作者可能會覺得不夠聰明 💬
- 全文搜尋+團隊協作:由 Meilisearch 搜尋引擎驅動,不只搜標題,連 PDF 內文、抓取下來的網頁原始文字都能檢索,速度極快。也支援建立收藏集(Collection)並邀請團隊成員,逐項設定唯讀/編輯權限,甚至能產生公開連結對外分享 🧠
| 核心功能 | 實際效果 | 穩定度評估 |
|---|---|---|
| 自動封存保存 | 產生截圖、PDF、HTML,防止連結腐爛 | 🟡 中等——遇反爬蟲機制或動態渲染過慢的網站易失效 |
| 閱讀與標註 | 萃取純文字,支援螢光筆、筆記、離線閱讀 | 🟢 高——v2.15 後離線體驗與同步相當流暢 |
| 全文檢索搜尋 | 毫秒級內容檢索,涵蓋 PDF 內文 | 🟢 高——搜尋精準,知識庫檢索利器 |
| AI 標籤輔助 | 自動分析內文推薦標籤 | 🟡 中等——提示詞靈活度較低,需額外算力 |
📊 ️ 三、系統需求與「記憶體吞噬者」惡名
把 Linkwarden 當成「私人網頁檔案館」架在自己主機上,需要付出的資源比想像中可觀。官方雖聲稱硬體需求「相對最低限度」,但這句話很容易讓一般使用者誤判 💬
這就像是DevOps 工程師常遇到的狀況:容器本身不重,真正吃資源的是「封存動作」本身。每存一個連結,背後就要完整啟動一次 Chromium 瀏覽器核心去執行 JavaScript、下載圖片、拍照存檔,這個過程對 CPU 與硬碟讀寫都是實打實的負擔 🏋️
Linkwarden 支援任何能跑 Docker 的環境(Linux、TrueNAS、Unraid、Proxmox 皆可)。官方文件宣稱在 4GB 記憶體的 VPS 上測試過能順暢運行,但 CPU 建議至少雙核心,儲存空間消耗也相當驚人——每次封存都會產生數 MB 不等的截圖與 PDF,重度收集者短時間內就可能吃掉數十 GB 硬碟 🦖
🚨 畫重點!千萬別踩雷:
標準 docker-compose.yml 部署方式會一口氣拉起三個容器:Linkwarden 主程式、PostgreSQL、Meilisearch。但真正的怪獸藏在主程式裡的 Playwright 模組——它包含完整的 Chromium 瀏覽器核心。在早期版本,社群曾抱怨系統閒置時記憶體佔用就高達 800MB 以上,導致只有 1GB 記憶體的 Raspberry Pi 3 因記憶體耗盡(OOM)頻繁當機。直到 v2.15 版本,開發團隊才針對此問題深度優化,限制記憶體池,並把 Docker 映像檔從 3.0GB 大幅縮減到 1.5GB。即便如此,只要目標網站修改前端框架或加強反機器人驗證,這套自動化流程依然可能中斷 ⛓️💥
安裝門檻評估:⭐⭐⭐(中等難度)對完全不懂程式的人來說,自架難度偏高——你得會用 SSH 登入伺服器、手動編輯 .env 環境變數,還必須用 openssl rand -base64 32 這類指令自行生成多組高強度機密字串。若要對外安全存取,還得自行配置反向代理與 SSL 憑證 🌟
另外有一點容易被忽略:如果你開啟了 SSO 整合或 AI 自動標籤功能,所有第三方 API 金鑰(OpenAI 金鑰、Authelia/Keycloak 憑證等)都會以明文形式儲存在伺服器本地的 .env 檔案裡。這代表伺服器本身的作業系統權限控管必須非常嚴格,一旦駭客透過其他管道入侵並讀到 .env 檔,所有雲端服務金鑰都有全面外洩的風險 🚫
🛠️ 四、四大適用情境:你是哪一種人?
✅ 一般輕量使用者(資訊松鼠病患者)
💻 獨立開發者/IT 系統工程師
✅ 企業商業用途(法務/公關/行銷團隊)
🔍 高風險誤用場景(真實案例,務必留意)
🚨 把內部機密變成「公開圖書館」外流:
某科技公司主管為方便整理日常閱讀,在公司內網自架 Linkwarden,並在工作瀏覽器裝了存取擴充功能。某天他在檢視公司內部「季度財務預測報表」(網址帶有內部單一登入 Session 驗證)時,順手用擴充功能把它存了下來。Linkwarden 忠實地啟動背景爬蟲,把該網頁能顯示的初步數據轉成了 PDF 存進系統。這位主管為了方便跨裝置查看,不小心把這個收藏集的權限設成了「公開(Public)」。由於系統會替公開收藏集產生可存取的獨立網址,這份機密財報立刻暴露在公開網際網路上。若沒有額外設定 NEXT_PUBLIC_USER_CONTENT_DOMAIN 隔離網域或 robots.txt 阻擋,這份資料極可能被搜尋引擎索引,造成無可挽回的營業秘密外洩,主管本人也可能面臨嚴重的法律責任。結論:公開分享按鈕請當成「發布」在按,而不是「儲存」 📸
🏴☠️ 五、資安真相:三個真實存在過的 CVE 漏洞
對於任何「代替你爬取網頁」的工具,資安永遠是最致命的軟肋。過去一年內,Linkwarden 確實暴露出多個被國際資安組織評為「高危」甚至「嚴重」等級的 CVE 漏洞,全部發生在 v2.14.0 以前的版本 🚫
| CVE 編號 | 漏洞類型 | 影響版本 | 白話說明 |
|---|---|---|---|
| CVE-2026-44313 | 伺服器端請求偽造(SSRF) | v2.13.0 之前 | 存連結時,系統只簡單檢查網址開頭是不是 http:///https://,就直接命令伺服器發起請求,沒有阻擋伺服器去讀取雲端主機內部才看得到的「中繼資料」網址(如公有雲的 IAM 憑證端點),理論上可能被誘導洩漏雲端服務的高權限金鑰 💣 |
| CVE-2026-42455 | 儲存型跨站指令碼攻擊(Stored XSS) | v2.14.0 及更早 | 系統允許上傳單一 HTML 檔案作為歸檔備份,但未徹底清洗檔案內潛藏的惡意程式碼,也沒設定嚴格的內容安全策略(CSP)標頭。若管理員打開這份被封存的 HTML,惡意程式碼可能在其瀏覽器中執行,藉此竊取 Session 憑證 🌟 |
| CVE-2025-49588 | 本地檔案包含(Local File Inclusion) | 修補前版本 | 系統過去未能防堵 file:// 這類偽協定,底層 Playwright 爬蟲可能把伺服器作業系統的設定檔當成一般網頁截圖下來;該漏洞也曾允許透過改變網址上的遞增數字 ID,暴力猜測並偷看其他使用者的私密連結內容 🛑 |
開發團隊修補速度受到社群肯定,v2.15 版本已大幅強化安全防護,但這段紀錄凸顯一個核心事實:「在伺服器端開放執行無頭瀏覽器去存取未知的外部連結」是一把極度危險的雙面刃。若企業必須部署,強烈建議在 .env 設定 ALLOW_PRIVATE_NETWORK_ACCESS=false,阻擋針對企業內部 IP(如 192.168.x.x)的爬蟲請求,並架設在嚴格防火牆或 VPN 之後,同時關閉公開註冊(NEXT_PUBLIC_DISABLE_REGISTRATION=true) 📝
✅ 公道話:經全面查證,Linkwarden 未曾發生開發者惡意棄坑、程式碼植入後門、或挪用贊助資金等信任危機事件,核心團隊在社群中相當活躍,對 Issue 回覆與修補態度備受讚譽。密集的漏洞回報反映的是「初期為求快速實現核心功能,安全隔離意識不足」的結構性設計問題,而非團隊操守問題 💂♂️
📊 六、授權與法律灰色地帶:不是「開源就沒事」
這就像日常小資族去頂讓一間老店的祖傳秘方——AGPL 規定,如果你把這套原始碼拿去改造、架成「網路服務」讓別人透過瀏覽器使用,你也必須把修改後的原始碼公開,跟一般「改完不用公開」的授權完全不同,目的就是防堵雲端服務供應商「白嫖」開源程式碼 🤡
- 🟢 個人自架/Homelab:合規且零風險,怎麼改都可以,只要不對外提供商業服務 🚨
- 🔴 拿去做商業 SaaS 對外收費:透過網路提供服務等同於「散佈」軟體,必須把修改後的程式碼完整開源,否則面臨嚴厲著作權訴訟 ✨
- 🔴 整合進閉源商業產品:你的整套商業軟體極可能被 AGPL「傳染」,被迫全部開源 📝
除了授權,實際運作機制也踩到幾個法律灰色地帶:把付費新聞媒體等受版權保護的內容截圖轉 PDF,若只是個人離線閱讀通常屬於合理使用,但一旦把收藏集設為公開分享,伺服器實質上就成了盜版內容的分發節點,可能面臨 DMCA 下架通知甚至提告求償。若封存的網頁包含第三方個資,即使原網站事後依歐盟 GDPR「被遺忘權」刪除了資料,你伺服器裡的 PDF 副本卻不會自動跟著消失,公開實例的維運者可能因此違反 GDPR 而面臨開罰。自動化爬取本身也經常直接違反目標網站的服務條款,對個人自架者而言通常只會導致 IP 被封鎖,但企業自動化監控使用時仍是不可忽視的穩定性隱患 📉
🛠️ 七、商業模式與費用:自架免費 vs 官方雲端 $3/月
| 評估維度 | 🏗️ 自架版 | ☁️ 官方雲端版 |
|---|---|---|
| 金錢成本 | 免費(不含硬體折舊與電費) | $3 美金/人/月(年繳享 25% 折扣,14 天免費試用) |
| 安裝複雜度 | 需熟悉 Docker、網域、反向代理設定 | 零摩擦,刷卡後立即擁有完整系統 |
| 連結數量上限 | 無限制(取決於自己的硬碟大小) | 每座位上限 30,000 個連結,超過需加購座位或升級客製方案 |
| 超量計費風險 | 不適用 | 極低——人頭計費,非依儲存容量或流量計費 |
| 維護與資安責任 | 使用者全權負責(更新、備份、防火牆) | 官方全權負責底層升級、安全補丁、備份 |
| 資料主權與隱私 | 最高,除了你和硬碟沒人知道你存了什麼 | 需完全信任官方隱私政策 |
| 進階系統整合 | 支援私有 OIDC(Keycloak、Authelia)等企業內網整合 | 支援 Google 等常見 OAuth 第三方登入 |
供應商綁定風險趨近於零——因為 100% 開源,就算用了雲端版幾年後不續約,也能把所有連結與封存檔案完整匯出,無縫搬回自己家裡的主機繼續運行。若想自架但缺乏機房設備,官方也與 Hostinger 合作推出 VPS 一鍵部署方案,硬體成本約每月 $6.49 美金起跳 💵
📌 八、真實使用者痛點(GitHub Issues/Reddit 實錄)
- 「記憶體吞噬者」惡名(GitHub Issue #744):社群抱怨一個只是用來存書籤的工具,一開機什麼都還沒做就吃掉近 1GB 記憶體,根源正是底層 Playwright 需要啟動完整 Chromium 核心。v2.15 優化前,甚至會讓記憶體只有 1GB 的 Raspberry Pi 3 直接因 OOM 當機 🚫
- 防護嚴格的現代網站根本存不下來:遇到 Cloudflare 五秒盾、強制登入論壇、歐洲網站的全螢幕 Cookie 同意警告時,使用者興高采烈存下網址,事後打開 PDF 卻只是一張擋路橫幅或錯誤畫面,主打的「永久封存」形同虛設 ⚠️
- Firefox 擴充功能一度全面失效(GitHub Issue #1585):架構升級到 Manifest V3 後,觸發嚴重的內容安全策略(CSP)錯誤,導致一票 Firefox 使用者完全無法透過外掛存書籤,只能回到網頁端手動貼網址 🤬
- 外部掛載路徑會在更新後憑空消失(GitHub Issue #1688):有進階自架玩家把儲存路徑掛到外部 ZFS 陣列硬碟省空間,結果某次更新後掛載設定竟然消失,又跑回預設位置,資料散落各處 🙅♂️
- AI 標籤客製化程度僵化:對比最大競爭對手 Karakeep(前身 Hoarder),Linkwarden 的 AI 標籤堪用但陽春,無法自訂 Prompt 生成特定格式摘要,重度整理控會覺得「還不夠聰明」🤯
⚔️ 九、競爭對手怎麼選?完整決策樹
| 評估特性 | Linkwarden ⚡ | Karakeep 🧠 | Linkding 🔖 | Readeck 📖 |
|---|---|---|---|---|
| 核心定位 | 網頁完整封存 | AI 知識庫與自動整理 | 極簡書籤收集 | 純淨稍後閱讀 |
| 開源授權 | AGPL-3.0 | AGPL-3.0 | MIT | AGPL-3.0 |
| 頁面封存能力 | PDF+截圖+HTML+閱讀模式 | 抓 Banner、內文、截圖 | 依賴第三方外掛 | 純淨閱讀模式/EPUB |
| AI 智慧整合 | 基礎(僅標籤) | 強大(標籤、摘要、對話) | 無 | 無 |
| 硬體資源消耗 | 🔴 極高(需 2-4GB RAM) | 🟠 偏高(主要跑 AI 任務) | 🟢 極低(數十 MB) | 🟢 極低(Go 語言編譯) |
| 官方行動 App | iOS/Android 原生 | iOS/Android 原生 | 依賴社群第三方 | PWA 網頁應用 |
🌴 選擇建議決策樹
- ✨ 患有嚴重「網頁失蹤恐懼症」,必須確保眼前資料一字不漏(含原始排版與圖片)永久釘死在硬碟裡 → 毫無疑問選 Linkwarden,多格式並行保存機制目前無人能敵 ✨
- ✨ 只想要一個能跨瀏覽器同步網址的極簡清單,不追求存下厚重內容 → 選 Linkding,極度輕量、快如閃電,社群外掛支援度佳 💡
- ✨ 想建構個人第二大腦,依賴 AI 自動整理分類,會存網址、圖片甚至隨手做筆記 → 選 Karakeep,介面現代、AI 整合最深 📝
- ✨ 買了高階電子書閱讀器,只想把零碎好文章當電子書離線舒適閱讀 → 選 Readeck,能直接打包成 EPUB 匯出 🎯
🛠️ 十、綜合風險評級:依你的身分對號入座
| 目標族群 | 風險等級 | 核心風險點 | 建議行動 |
|---|---|---|---|
| 一般使用者(雲端版) | 🟢 低 | 隱私信任問題(官方理論上能看到你存了什麼) | 安心使用,雲端版已由官方承擔絕大部分資安與維護風險 |
| Homelab 自架玩家 | 🟡 中低 | 資源耗盡(OOM)當機;忘記更新引發漏洞 | 準備至少 4GB RAM,用 Watchtower 等工具保持映像檔在 v2.15 以上 |
| 獨立開發者/SaaS 創業者 | 🟠 中 | 違反 AGPL-3.0 傳染性授權條款 | 若二次包裝成商業服務,務必將修改部分開源,否則面臨版權訴訟 |
| 企業/組織內部使用 | 🔴 高 | 員工誤存機密並設為公開;未修補的 SSRF 導致內網被駭 | 設定 ALLOW_PRIVATE_NETWORK_ACCESS=false,藏在 VPN 後方,關閉公開註冊,落實教育訓練 |
🏆 十一、總結評分(10 分制)
| 評分維度 | 分數 | 評語 |
|---|---|---|
| 🧩 功能完整性 | 9 | 從封存、全文搜尋、團隊協作到 AI 標籤,幾乎完美覆蓋個人與團隊數位典藏的進階需求 👍 |
| 🔒 資料安全性 | 5 | 勉強可用但帶有痛點。過去爆發過極高危險的 SSRF 與 XSS 漏洞,架構上必須執行無頭瀏覽器,極度依賴管理員做好內網隔離 🛑 |
| ⚖️ 法律合規性 | 7 | AGPL-3.0 條款對純自用零風險,但阻斷商業閉源可能,公開分享受版權內容也有灰色地帶 🚫 |
| 🛠️ 安裝易用性 | 6 | Docker Compose 一鍵部署對工程師方便,但多容器深度依賴加上龐大記憶體需求,對硬體不佳的新手不友善 📝 |
| 📚 文件完整性 | 8 | 官方文件寫得詳盡,環境變數意義與 SSO 配置都有清楚圖文說明 🧐 |
| 🚀 維護活躍度 | 10 | 19k+ GitHub 星星熱度實至名歸,團隊回應積極,App 與 Web 端更新頻率極高 🧐 |
| 👑 加權總分 | 7.5 | 強力推薦,但需謹慎評估硬體與資安防護 🎉 |
🏁 結語:治療連結腐爛的最強特效藥,但不是免費午餐
Linkwarden 是目前開源界治療「連結腐爛」的最強特效藥。如果你對於精心收集的書籤與參考資料,最終無可避免變成 404 Not Found 感到深惡痛絕,這款工具絕對能一勞永逸治癒你的資訊焦慮 📿
然而,強大數位典藏功能的背後,是極端沉重的硬體代價與潛在的架構資安風險。不建議新手為了省錢,把它硬裝在記憶體微薄的廉價 VPS 上。如果你不懂得如何設定系統防火牆、反向代理與環境變數隔離,直接選擇官方每月 $3 美金的雲端方案,把伺服器效能調校與資安防堵的頭痛問題,花小錢丟給專業團隊去煩惱,才是最聰明的決策;但如果你手邊已經有在跑自架服務的主機、懂基本 Docker 操作,Linkwarden 幾乎沒有理由不試試看 ⚠️
🛠️ 附錄:Linkwarden Docker Compose 安裝方式
🔥 懶人包:整個安裝只需要「抓兩個檔案、改三個密碼、下一行指令」,官方文件實測 4GB 記憶體的 VPS 就能順跑,新手照著做大約 10~15 分鐘可以完成。
📝 ① 建立資料夾並下載官方設定檔
SSH 連進伺服器後,建立專屬資料夾,下載官方提供的 docker-compose.yml 與環境變數範本:
mkdir -p /opt/linkwarden && cd /opt/linkwarden curl -O https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/docker-compose.yml curl -L https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/.env.sample -o ".env"
⚙️ ② 修改必填的三組密鑰
打開 .env 檔案:
nano .env
裡面會看到以下內容,務必修改三組密鑰——NEXTAUTH_SECRET、MEILI_MASTER_KEY、POSTGRES_PASSWORD,三組都要用不同的隨機字串:
NEXTAUTH_URL=http://localhost:3000/api/v1/auth NEXTAUTH_SECRET=VERY_SENSITIVE_SECRET MEILI_MASTER_KEY=VERY_SENSITIVE_MEILI_MASTER_KEY POSTGRES_PASSWORD=CUSTOM_POSTGRES_PASSWORD
🚨 資安提醒:密碼、密鑰這類敏感資訊請勿直接貼在聊天室或公開分享的截圖裡。若字串內含特殊符號,記得用單引號或雙引號包起來。若企業內部部署,建議額外加上 ALLOW_PRIVATE_NETWORK_ACCESS=false 阻擋內網爬取。
快速產生隨機字串的方法:
openssl rand -base64 32
執行三次,把產生的三組不同字串依序貼回 .env 對應位置 🧐
🔌 ③ 啟動服務
docker compose up -d
第一次執行會拉取映像檔並建置,請耐心等待幾分鐘。啟動完成後,Linkwarden 預設會在 3000 埠口運作 ✨
💬 ④ 建立第一個帳號並立刻關閉開放註冊
瀏覽器打開 http://你的伺服器IP:3000,點擊「Sign Up」註冊第一個帳號,這個帳號會自動成為系統管理員。強烈建議註冊完成後,立刻回到 .env 把 NEXT_PUBLIC_DISABLE_REGISTRATION 設為 true 並重啟服務,避免陌生人自行建立帳號 📌
⚙️ ⑤(進階)掛上網域與 HTTPS 反向代理
若要用正式網域對外提供服務,建議在前面加一層 Nginx 反向代理並用 Certbot 簽發 SSL 憑證:
sudo apt update sudo apt install -y nginx certbot python3-certbot-nginx sudo nano /etc/nginx/sites-available/linkwarden
貼入以下設定(請把 app.example.com 換成你自己的網域):
server {
listen 80;
listen [::]:80;
server_name app.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
sudo ln -s /etc/nginx/sites-available/linkwarden /etc/nginx/sites-enabled/linkwarden sudo nginx -t sudo systemctl reload nginx sudo certbot --nginx -d app.example.com
簽完憑證後,回到 .env 把網址改成正式網域並重啟服務:
NEXTAUTH_URL=https://app.example.com/api/v1/auth BASE_URL=https://app.example.com
docker compose down docker compose up -d
🔍 ⑥ 定期備份(強烈建議設定排程)
Linkwarden 資料分成資料庫與封存檔兩塊,兩個都要備份才算完整:
# 備份資料庫(可放進 cron 排程) docker exec -t linkwarden-postgres pg_dump -U postgres postgres | gzip > linkwarden_$(date +%F).sql.gz
另外也要記得把存放截圖/PDF/HTML 的 Docker Volume(通常掛載在 ./data 或 /data/data)一併排程備份到異地儲存空間,只備份資料庫的話,還原後書籤紀錄還在,但每一份珍貴的截圖與 PDF 會全部消失 🚫
⚙️ ⑦ 版本更新
docker compose pull docker compose up -d
✅ 小提醒:大版號升級前建議先看官方 Release Notes,並確認至少升級到 v2.15 以上取得完整安全修補。小版號更新通常很平順,照上面兩行指令執行即可。
💡 參考資料與延伸資源
- 📌 Linkwarden 官方 GitHub
- 📌 Linkwarden 官方安裝文件(Setup)
- 📌 Linkwarden 官方反向代理設定文件
- 📌 Linkwarden 環境變數說明文件
- 📌 CVE-2026-44313 SSRF 安全公告
- 📌 CVE-2026-42455 Stored XSS(NVD)
- 📌 CVE-2025-49588 LFI 安全公告
- 📌 GitHub Issue #744:記憶體資源消耗討論
- 📌 Linkwarden 官方雲端方案定價頁
- 📌 Railway:Linkwarden 一鍵部署範本
- 📌 QDE:How to Self-Host Linkwarden
- 📌 CoSci Blog:Linkwarden self-hosted on Proxmox
- 📌 XDA:This self-hosted bookmarking app saves webpages and can be shared with friends







