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

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

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


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


分析功能 (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
的指令就可以將所有服務啟動,十分方便。

但仔細思考我在 Zeabur 如何部署服務,其實是用預先提供的 Ghost Template,部署完後自動產生 ghost 和 mysql 服務。
它背後如何運作呢? 應該也是一個類似 yaml 的檔案。

因此這樣就比較說得通了— 新的 Ghost 6.0 會依賴兩個外部服務,我雖然升級了 Ghost 版本到 6.0,但並沒有安裝這兩個服務,因此就會報錯。
那要怎麼解決呢?
很遺憾地,目前嘗試了一些辦法都沒法成功。我認為大方向是要想辦法讓 Zeabur 部署時能採用 Ghost 官方建議的 docker compose file,應該就可以解決。
但你可能會問該怎麼做? Zeabur-Cli 文檔似乎有提供類似的能力,可以撰寫自己的 yaml 達到類似 docker compose 的效果。但這又回到了部署底層的生硬技術,不太符合初學者友善的初衷就是了。
以上就是簡單分享,如果有解決這個問題的強者,希望也可以分享讓我知道!
