實作筆記

記錄工具安裝、自架部署、設定調整與排障過程,整理成可參考的實作筆記。

桌面上的筆電顯示程式碼,旁邊放著咖啡杯,象徵日常部署與開發工作流

實作筆記

[紀錄] OpenClaw 部署指定模型

上一篇先記了我初試 OpenClaw 的過程,這一輪則是把原本的 docker compose 再往前補一些,順手把預設模型也一起放進去。 這次選擇的是 Ollama,預設模型設成 minimax-m2.5:cloud。 原本以為把 .env 補好、compose 啟動,接著就能開始用了。做了才知道事情沒有我想得順利,仍然還是需要手動進 container 執行指令。 因為這次在 docker compose 想放進預設模型,所以整個配置也跟著多補了一些。原本比較單純的 OpenClaw 部署,後來變成 openclaw + ollama 的配置,讓 OpenClaw 啟動後能直接接上模型。 不過模型名稱先放進去,事情也沒這麼順。 Ollama 要使用 cloud model 得先登入。第一次啟動後,要先進到 Ollama 容器裡跑

By Jo Assistant, Jo
[紀錄] 初試 OpenClaw

實作筆記

[紀錄] 初試 OpenClaw

夯了很久的 OpenClaw,近期開始出現了退安裝潮,我卻正要開始嘗試使用。 前幾天花了一點時間簡易安裝看看傳說中的龍蝦 (OpenClaw) 要怎麼用,略有點覺得值得再往後嘗試時,才開始認真看看安裝方式,在小心為上的前提下,我採用 docker 建置在自己閒置的電腦。 在 docker-compose.yaml 的準備過程,原先只是不斷試錯調整,過了好段時間才有點意識到該好好利用身邊的資源,於是集幾個 AI 模型問答之大成來建置初版,當 OpenClaw 建起來後,又透過跟它的互動,協助我寫一版可整合 Discord 的 Openclaw docker-complase.yaml 自用。(參考) Gateway Token & Pairing 如果沒有特別改設定,當啟動 container 後,透過 http://localhost:16789 會導向登入頁 登入時會遇到 2 個情況

By Jo
筆記 | 自架 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 設定後,從新裝置就能正常登入了。 前一篇文章提到我的 Ghost 是架設在

By Jo
部落格遷移紀錄

實作筆記

部落格遷移紀錄

是的,又搬家了。 這次搬家像是一種重新開始,遷移的範圍稍微大些,大致上有三段變動: * 從功能豐富的 WordPress 到簡潔高效的 Ghost * 從 SugarHosts 搬遷到 Google Cloud Platform (GCP),最後搬移到 zeabur Wordpress 的功能非常豐富,只是我使用到的部分極少,總想找個簡潔的服務使用,但忙碌的工作很快就澆熄了動力。一次在輸出小組群組中的討論,注意到 Ghost 這個部落格平台,試裝操作看看,體驗還不賴,想著我的文章數也很少 (心虛),就搬吧! 推進這個改變的契機,一部分也來自於 SugarHosts 自 2024 年底在網路社群中的討論,其中也包含了客服過久沒有回應的議題,SugarHosts 的價格真的很有吸引力,只是客服回應效率突然的落差,讓我開始擔心這是否對影響到部落格,開始思考搬家的可能,實際上身邊的朋友也愈來愈多人遇到類似情況,甚至站台無法再使用,措手不及使得只能使用較早期的備份來拯救文章。 我在年假期間利用 GCP 的試用額度來架設

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
在 Mac 安裝 Docker Desktop

實作筆記

在 Mac 安裝 Docker Desktop

換了新的 Mac,趁著是乾淨的環境,把安裝過程記錄下來,方便未來查找。 使用 brew 進行安裝,所以開始前需要先為 mac 安裝 brew,在 terminal 執行以下指令: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 接著就可以安裝 Docker 了 brew install --cask docker (安裝過程中可能需要輸入當前登入帳號的密碼) 正常安裝成功,應該會看到如底下圖片的 "docker was successfully installed! 接著將 docker desktop 打開

By Jo
[Grafana] Global Variable 應用

實作筆記

[Grafana] Global Variable 應用

取得 dashboard 的 id (參考連結) 在 grafana v6.7 以前,透過 $__dashboard 能取得 dashboard uid,grafana v7.1 後使用相同變數則取得 dashboard name,如果仍然想要取得 dashboard 的 uid,可透過 ${__dashboard.uid} 取得。 time picker (Grafana Global Varialbe) ${__from} 和 ${__to} 可以取得 grafana 原生 time picker 開始時間及結束時間的值 (timestamp)${__from:date:YYYY-MM-DD} 可以把 timestamp 轉成想要呈現的格式

By Jo
[Grafana] 在 SQL 中使用 time picker 起迄時間

實作筆記

[Grafana] 在 SQL 中使用 time picker 起迄時間

Grafana 的圖表可以透過原生的 tim picker 選擇起迄時間,來更新圖表的結果 在第三方圖表 (如:echart) 中,如果希望取得 time picker 起迄時間來過濾資料,可以透過 grafana 的內建 global variable 的 ${__from} 和 ${__to} 來取得起迄時間,值的內容是 timestamp 同時,可以透過官方文件解釋的語法,將格式轉換,如底下的例子: ${__from:date:YYYY-MM-DD} 可以把 timestamp 轉成 4 碼年-2 碼月-2 碼日 在圖表 panel 的 SQL 應用: select '${__from:date:YYYY-MM-DD}

By Jo
解題記事 | 系統主機 thread 數量暴增

實作筆記

解題記事 | 系統主機 thread 數量暴增

狀況描述 前段時間,一個系統進行版更,版更後隔天監控系統 (Checkmk) 發出了 AP 主機 thread 數量過多 (Number of threads) 的告警。 版更前的 thread 數量在上班時間大約落在 400 至 600 間,版更後相同時間卻落在 4000 至 6000 之間,甚至更多,系統的反應也比以往要慢上許多。 釐清原因 版更後有狀況,通常第一時間都會回頭檢視這次版更了哪些東西,這次的版更有幾個項目: 1. 修正 1 個 Defect 2. AP 主機作業系統升級 3. 為開放外網改變系統佈署架構 在 DMZ 1 中增設一台 Web Server,透過轉發到特定服務的方式指向真正的 AP

By Jo