使用 Zeabur 架設 Ghost 部落格

這篇主要是在講如何連接信箱,可以使用忘記密碼的功能和驗證
現在越來越多人使用 Zeabur 服務來建立自動化,例如 n8n
而大家也發現 Zeabur 可以架設很多服務,而且非常快速,例如自己的部落格可以使用 Ghsot 來架設。
現在網路上也蠻多資源的,因為大部分都寫得很完整,我這裡直接推薦幾篇
雷蒙三十-自架 Ghost 網站教學 + 電子報系統 Mailgun
下班獨自升級-分享我第一次用 Ghost 架設部落格
Vic - 2025 年 Ghost 部落格最完整教學 🔥:從部署到配置一篇文解決!
其實我在 2024 就架設完畢,但在最近發現一件事情,就是我的後台在別的電腦不能登入!
輸入帳號密碼後出現了 Failed to send email. Please check your site configuration and try again. 的錯誤。
所以我又開始找為何會有這個原因,而發現現在蠻多人有寫 zeabur 架設 ghost 相關的文章,但還是都沒有解決我的問題...
下班獨自升級的作者有開設架站問題的諮詢,我詢問了一下,我們兩個互相交流一起研究,最後終於解決了,雖然還是靠自己解決,但跟其他人交流激盪也是有差別,不然自己在那邊獨自解決真的好辛苦。
問題解決
Failed to send email. Please check your site configuration and try again.
這原因是因為在登入後台時,會需要做驗證,而他會寄送 mail 到你的信箱做驗證碼驗證,這就跟平常登入其他網站一樣,會做的驗證,而不知道為何我跟其他人架設 Ghost 方法一樣,但只有我出現這個部分。其他人的是沒有這項 security 的驗證的。
解決方法:
1. 設定好 SMTP 讓後端可以寄信
2. 取消這個 security 驗證
而這個兩個方法都是要更改我們的 ghost config 檔案,但是在 Zeabur 怎麼更改這個設定檔呢?
在雷蒙三十中的設定有一個地方有錯誤,如果照下方直接操作 Zeabur 中的檔案中的var>lib>config.production.json
,將 mail 掛上正確的 SMTP,重啟後其實在開這個檔案,會發現他又會歸原本的,他是沒有吃到這些參數的。

正確的做法要使用 Zeabur 中的設定,設定檔的 Editor 再來就是 Add config file 並且輸入 /var/lib/ghost/config.production.json
這就是 config 檔案的位置。
接著就可以更改這個 config 檔案,而且重啟時他會來讀取這份 config 檔案。

方法一:連接 SMTP
就可以將 mail 的部分更改成以下內容
user 和 pass 就是在 mailgun 中的 SMTP credentials可以得到。

更改後再重啟 ghost,這樣就能正確地收到驗證信了,忘記密碼的功能也能使用了!!
方法二:取消 security 驗證
也是在 config 檔案做,只需要在上述的 config 檔案新增以下內容即可
"security": {
"staffDeviceVerification": false
}
參考以下連結:

就是這樣,終於完成了!!!
可以在其他電腦登入了,不過我目前還是不知道,為什麼只有我建立的時候會有自動 security 的設置,而其他人沒有,有可能是在 Zeabur 中使用的 ghost 模板不同,他本身的 config 檔案可能有稍微不一樣。
為何其他人 config 檔案在 Zeabur 設置錯的卻還能寄信?
前面說到上述參考文章再接 mailgun 時,在 Zeabur 的設置是錯的,而為何他們還是能成功寄出電子報呢?
這是因為在 Ghost 中 mailgun setting 其實完全是使用 API 來連接,在 Ghost 裡也是這樣寫的 The Mailgun API is used for bulk email newsletter delivery. Why is this required?
其實只要在 Mailgun 產生 API key 填入即可,根本不需要在設置 SMTP 的部分,所以事實上他們在設定 SMTP 應該是沒有設定好的,在後台也不能點擊忘記密碼來重設密碼。
這兩個功能本質上連接的東西是不同的,一個是使用 Mailgun API 一個是使用 SMTP 發信。
雖然基本上會看到這邊文,已經建立但遇到問題了,不過若你還是沒註冊和使用Zeabur,歡迎點擊下方連結,你和我都能得到$5折扣
結論:資料的判讀能力還是很重要
在網路上有許多錯誤的資料,這些通常也不是故意的,而是真的以為是這樣,而我也不敢保證我這篇資料全是正確的,但在多方查詢和比對之後,我找出正確的方式。
也覺得在使用網路服務,最正確的資料應該會是官方自己撰寫的 Document 雖然有時候也不全然完整,但還是個相對正確的資訊。
這次學習到 Zeabur 服務的一些眉眉角角,也大概知道這服務是怎麼設計的,但我還是必須補足更多 docker、部署相關的知識,現在多屬於大概知道,但無法很好地理解,和融會貫通。