部落格遷移紀錄

部落格遷移紀錄
Photo by Brett Jordan / Unsplash

是的,又搬家了。
這次搬家像是一種重新開始,遷移的範圍稍微大些,大致上有三段變動:

  • 從功能豐富的 WordPress 到簡潔高效的 Ghost
  • 從 SugarHosts 搬遷到 Google Cloud Platform (GCP),最後搬移到 zeabur

Wordpress 的功能非常豐富,只是我使用到的部分極少,總想找個簡潔的服務使用,但忙碌的工作很快就澆熄了動力。一次在輸出小組群組中的討論,注意到 Ghost 這個部落格平台,試裝操作看看,體驗還不賴,想著我的文章數也很少 (心虛),就搬吧!

推進這個改變的契機,一部分也來自於 SugarHosts 自 2024 年底在網路社群中的討論,其中也包含了客服過久沒有回應的議題,SugarHosts 的價格真的很有吸引力,只是客服回應效率突然的落差,讓我開始擔心這是否對影響到部落格,開始思考搬家的可能,實際上身邊的朋友也愈來愈多人遇到類似情況,甚至站台無法再使用,措手不及使得只能使用較早期的備份來拯救文章。

我在年假期間利用 GCP 的試用額度來架設 Ghost 服務,其中也包含了基礎建設的工作

  • 主機建置:預估每月費用落在 8.5 美元左右
    • 一台 Compute Engine (VM)
      我選擇的機器是 E2 微型虛擬機,選擇最低規格已經足夠。
    • 一顆 25G (看個人需要) 的標準永久磁碟
      用來放資料 (原有的 10G 留給作業系統使用),在這個部分,特別留意了磁碟掛載的步驟,確保資料可以正常存取。
    • 保留一個靜態 IP 給 VM 用,讓自已的 DNS 設定能對應到一個固定 IP
  • 部落格建置:自建 (free)
    • 撰寫 Docker Compose YAML 來配置與建置服務:
      • Ghost:部落格平台
      • MySQL:Ghost 需要的資料庫
      • Nginx:網頁伺服器,主要是幫忙做反向代理,將請求轉給 Ghost
      • Certbot:用來向 Let's Encrypt 申請憑證以及自動續期

這個階段的搬家,大多依靠自己掌握的技術完成,過程中克服的技術挑戰也成為了個人經驗值,算是利用了 GCP 的試用額度完成了一個學習循環。

最後一個階段是將服務遷移到 zeabur ,zeabur 提供了許多模板 (其中就包含了 ghost),讓使用者能快速部署需要的服務,相較於需要自己關注服務的穩定,交給專業顯然是更好的選擇,因此很快地就決定再作一次遷移,完成這次搬家。

後記

zeabur 是為開發者設計的雲端部署平台,它豐富的模板和快速部署的機制,讓服務的建置更有效率,用戶可以透過 Discord 向官方提 issue 或社群互動。我選擇的方案是 Developer 方案 ($5/mo),與雲端服務一樣按需付費,實際上的費用待觀察,就目前的使用體驗感受上是好的。

Deployed on Zeabur

如果您有興趣試用 zeabur,歡迎透過我的邀請連結 (上方按鈕) 註冊,當您升級到任意的付費方案時,我們彼此都可以獲得 $5 的現金抵扣

Read more

筆記 | 設定自架 Ghost SMTP

筆記 | 設定自架 Ghost SMTP

部落格荒廢了好一段時間,近期終於想用手機登入管理介面留下些草稿,突然發現無法登入,登入鈕下方出現了如下的一段訊息 EmailError: Failed to send email. Please check your site configuration and try again. 結論先行,原因是我安裝的 ghost 版本,在首次使用新裝置登入時需要 2FA (二階段驗證),也就是說,除了帳號密碼登入之外,還會有一層驗證機制,而這層驗證機制需要輸入 6 碼驗證碼 (Ghost 站台發給登入者註冊信箱的 mail 會提供)。我當時建置 Ghost 時認為自己不會發送電子報,就忽略了 SMTP 的設定,導致 Ghost 站台不能正常發信,在配置好 SMTP 設定後 (我使用的是 Mailgun,應該也可以用 Gmail

By Jo
筆記 | Ubuntu 掛載磁碟

筆記 | Ubuntu 掛載磁碟

最近在 GCP 試玩 Compute Engine (VM),建立時另外新增了一顆磁碟,實際運行了才發現,原來需要自行掛載,記錄執行的指令與過程。 以 Ubuntu 22.04 為例 (多數的 Linux 應該也可以使用) 確認新增的磁碟是否存在 lsblk 大多情況應該會看到新的磁碟還沒有掛載任何分區 格式化 (如果硬碟還沒有格式化) sudo mkfs.ext4 /dev/sdb 配置自動掛載 取得新磁碟的 UUID sudo blkid /dev/sdb 一般會顯示類似以下的結果 /dev/sdb: UUID="一串由-符號串接的英數字" BLOCK_SIZE="4096" TYPE="ext4&

By Jo
筆記 | PostgreSQL v12 CTEs 行為改變

筆記 | PostgreSQL v12 CTEs 行為改變

前段時間,工作環境將 PostgreSQL v10 升級到 v15,升級後發現報表的執行效率從 1 秒變成了 2 分多鐘,也剛好變因太多,排查了很多項後才開始面對 SQL 執行計畫,同一段 SQL v10 跟 v15 有很大的差別,許多人花了一番功夫調整,速度才回到水準,接著進一步從調整方向的線索,再爬網路文章,才發現原來在 PostgreSQL v12 有一項對我們來說蠻重要的改變:CTEs 行為改變。 過去經驗裡,SQL 使用 CTE (Common Table Expression) 能將一段查詢的結果暫存起來,在主查詢語句中使用,能有提升查詢效率的效果 例如: WITH temp AS ( SELECT col1, col2, col3 FROM

By Jo
筆記 | 在 Ubuntu 22.04 安裝 Kubernetes Cluster

筆記 | 在 Ubuntu 22.04 安裝 Kubernetes Cluster

許多網路文章中都有安裝 kubernetes cluster 的教學,也因為版本更迭,爬了很多的文章、裝了非常多次,整理以下的筆記,幫自己防忘記。 實作環境 * 主機 (VM) 3 台,一台 master、兩台 node * pve-master * pve-node1 * pve-node2 * 作業系統 Ubuntu 22.04 * Container Runtime 選擇 containerd.io 筆記的幾個大步驟,有些是所有節點都要做,有些則否,整理如底下的表格: Step pve-master pve-node1 pve-node2 安裝前置 V V V 安裝 Container Runtime V V V 安裝 kubeadm

By Jo