升級 Ghost 6.0!全新體驗還是踩雷現場?

升級 Ghost 6.0!全新體驗還是踩雷現場?

最近 Ghost官方宣佈新版本 6.0升級,距離上次發佈 5.0 已經過去三年,因此我特別期待有哪些新功能推出!

官方介紹中提到新的Network功能

自架站升級後問題重重...

找了間咖啡廳坐下,我開始嘗試升級 ghost 版本到6.0。由於我使用 Zeabur 架設 Ghost 部落格,研究一下發現似乎可以直接更新 Docker Image 版本進行升級。

零經驗如何開始架站?分享我第一次用 Ghost 架設部落格
Hi,我是《下班獨自升級》的 Ivan。過去我一直很羨慕別人經營自己的部落格,不管是記錄生活的點滴,還是經營自媒體帶來收入。 有好幾次我都想開始,但總是在第一步就遇到挑戰: * 想效仿很多人用Wordpress架站,卻擔心自己無法上手、插件過於複雜 * 想嘗試用 Medium、Vocus 等部落格寫文章,又覺得會被平台演算法綁架 這次看到 雷蒙三十的分享,終於下定決心學習 Ghost 架站。下面分享我如何只花 3小時完成架站。 第一步:部署網站 這次我選擇使用 Zeabur 作為部署平台,原因是看到許多人推薦步驟簡單,主機費用CP值高 ($5/月),非常符合我的訴求—讓「架設網站門檻降到最低」。 整個設定流程約 30 min,完成後就會看到網站的雛形。如果對介面風格不滿意,之後都可以再慢慢調整。 如果你想試用Zeabur,歡迎點擊下方連結,你和我都能得到$5折扣 註冊連結 選擇網站主題、發布第一篇文章
直接升級到6.0.0-alpine後,重啟服務

重新啟動後,從後台就可以看到新功能!我決定來試用一下,結果卻發現功能頁面會一直報錯。

爬了下這篇文章,發現其他人也遇到類似問題。
Zeabur 後台報錯 log

分析功能 (Analytics) 及社交功能 (Network)

查了一下文檔,才發現這次主要推出的兩個功能,一個是文章統計數據,會需要用到 Tinybird 的服務 ; 另一個是社群互動功能,則使用到 ActivityPub。

擷取自官網介紹

可以看見上面提到:

To achieve this whilst keeping ....., we've built them as separate services.

意思就是說,除了原本 Ghost 需要用到的 MySQL,這次升級還多新增了兩個服務。對於原來使用 Ghost (Pro) 的使用者,官方會幫他們處理好,但如果是 Self-hosted,那就需要想想辦法了。

針對self-host的使用者,官方給出的建議是使用 Docker-compose。關於 Docker 及 Docker compose的使用我其實也不太熟悉,目前理解是用戶可以在一個叫做yaml的檔案中配置需要哪些服務,接著使用如docker compose up的指令就可以將所有服務啟動,十分方便。

Ghost 官方 docker-compose yaml 檔案,裡面增加了新服務: activitypub, tinybird

但仔細思考我在 Zeabur 如何部署服務,其實是用預先提供的 Ghost Template,部署完後自動產生 ghost 和 mysql 服務。

它背後如何運作呢? 應該也是一個類似 yaml 的檔案。

Zeabur 的 Ghost Template,應該也有類似 yaml 的檔案

因此這樣就比較說得通了— 新的 Ghost 6.0 會依賴兩個外部服務,我雖然升級了 Ghost 版本到 6.0,但並沒有安裝這兩個服務,因此就會報錯。

那要怎麼解決呢?

很遺憾地,目前嘗試了一些辦法都沒法成功。我認為大方向是要想辦法讓 Zeabur 部署時能採用 Ghost 官方建議的 docker compose file,應該就可以解決。

但你可能會問該怎麼做? Zeabur-Cli 文檔似乎有提供類似的能力,可以撰寫自己的 yaml 達到類似 docker compose 的效果。但這又回到了部署底層的生硬技術,不太符合初學者友善的初衷就是了。

以上就是簡單分享,如果有解決這個問題的強者,希望也可以分享讓我知道!

💡
對於自架部落格有興趣?歡迎加入 "Ghost 部落格交流群". https://line.me/ti/g2/TNgL5Y8M17Lq0eqRZouv61MkiyHVSif7ub2IPA
歡迎加群一起切磋