Zeabur 逐步結束營運,共享叢集 12/1 就暫停,12/31 不代表每項服務都撐到那天
- 不管搬不搬,以前填過的 AI API Key 都要先換掉,建新 Key 不會讓舊 Key 失效
- n8n 搬家一定要帶走 N8N_ENCRYPTION_KEY,不然新環境解不開舊 credential
- n8n 想省事選 Railway,想掌控選 VPS 加 Docker,網頁專案優先 Cloudflare
- 退款和資安損失賠償是兩個申請,新環境驗收完才關舊的
-
10/14Zeabur 發生第二次資安事件(UTC),內部系統與部分客戶服務遭外部入侵,影響範圍比 8 月底那次更大
-
10/17Zeabur 寄信給用戶,宣布逐步結束營運
-
即日起停止新購專用伺服器與網域,開始受理帳戶餘額退款
-
12/1共享叢集暫停所有運行中服務,可手動恢復運行來備份資料;專用伺服器停止續費,依到期日陸續關閉
-
12/31所有專用伺服器與共享叢集關閉,官方強調不代表每項服務都撐到這天
八月底才剛為了環境變數外洩把 Key 輪替過一輪 沒想到 10/14 Zeabur 又外洩了第二次,這次影響範圍甚至更大 社群和自己的群組裡陸續看到有人 API Key 被盜用、帳單被刷爆 想不到 10/17 早上信箱就跳出官方通知:宣布逐步結束營運
感嘆歸感嘆,手上有在 Zeabur 跑 n8n、資料庫或網頁專案的話,現在最要緊的是趕快搬家! 雖然官方寫 12/31 關閉,但共享叢集 12/1 就會全面暫停服務,算下來時間其實蠻緊的
先換 AI API Key:以前填過的都要換掉
這次事件的調查還在進行,官方說完整報告之後才公布 範圍到底多大,目前沒人說得準
但不管怎樣,只要以前放進 Zeabur 環境變數的東西,特別是 AI API Key,都要當作已經曝光:
- AI API Key,像是 OpenAI、Claude、OpenRouter、Gemini
- 資料庫密碼等等環境變數
排查順序上一篇寫過,這裡抓三個最容易踩坑的點:
- 建新 Key 不會順便讓舊的失效,一定要去廠商後台撤銷 Revoke
- 只改 Zeabur 上的環境變數,不等於改掉資料庫裡真正的密碼
- 撤銷舊 Key 後記得看 Usage 或帳單 Billing,確認有沒有被盜刷
盤點現有 Zeabur 服務:讓 AI 來幫忙
先列清單確認手上有什麼,再決定搬去哪
先讓 AI 幫你撈一次
服務一多,手動一個一個點很容易漏 有在用 Claude Code 或 Codex 的話,先讓 AI 把整個帳號掃一遍
方法一:Zeabur CLI
不用安裝,有 Node.js 就能用 npx 跑,先登入:
npx zeabur@latest auth login
登入之後 AI 就能自己下這類查詢指令:
npx zeabur@latest project list -i=false --json
npx zeabur@latest service list --project-id <PROJECT_ID> -i=false --json
npx zeabur@latest variable list --id <SERVICE_ID> -i=false --json
npx zeabur@latest server list -i=false --json
npx zeabur@latest domain list-registered -i=false --json
方法二:Zeabur MCP
Zeabur 有官方的 MCP server,要先到 Zeabur 建一把 API Key(zat_ 開頭)
Claude Code 一行加進去:
claude mcp add zeabur -e ZEABUR_TOKEN=zat_xxxxxx -- npx @zeabur/mcp-server
Claude Desktop、ChatGPT、Cursor 的設定方式看官方文件
接好之後丟這段給 AI:
幫我盤點 Zeabur 帳號裡的所有專案,只准查詢,不准建立、修改、刪除任何東西
每個服務列出:服務名稱、類型、所在專案、跑在共享叢集還是專用伺服器、
有沒有 volume 或資料庫、綁定的網域、環境變數的名稱
專用伺服器另外列出到期日,網域列出是不是在 Zeabur 購買的
最後整理成一張表
盤點表範例
下面是範例:
| 服務 | 資料在哪 | 綁的網域 | 什麼時候關 | 打算搬去 |
|---|---|---|---|---|
| n8n 主程式 | n8n 的 volume(含 config 檔)加 PostgreSQL | n8n.example.com | 共享叢集,12/1 暫停 | VPS 加 Docker |
| n8n 用的 PostgreSQL | 資料庫本體,要另外備份 | 無 | 跟 n8n 一起 | 跟 n8n 一起搬 |
| 公司官網(Astro) | GitHub repo,沒有資料庫 | www.example.com | 專用伺服器,看帳單上的到期日 | Cloudflare |
| 表單接收 API | 使用者上傳的檔案在 volume | api.example.com | 共享叢集,12/1 暫停 | Railway |
依服務類型選怎麼搬家:n8n 和網頁專案
選新家的原則很單純: n8n 想省事選 Railway,想完全掌控就租台 VPS 跑 Docker 網頁或前端專案,優先看 Cloudflare
n8n:Railway 或 VPS
| 比較 | Railway | 自租 VPS 加 Docker |
|---|---|---|
| 適合誰 | 想偷懶,不想碰 Linux | 想掌控資料與版本,願意 SSH 進機器 |
| 費用 | Hobby 方案 US$5/月(含 US$5 用量額度),超過另計 | VPS 月租 |
| 怎麼部署 | 官方 template 一鍵部署 n8n 加 PostgreSQL | 用 n8n 官方 n8n-hosting 的 docker-caddy 範例,n8n 加 Caddy 反向代理 |
| 計費方式 | 看運行時間與網路用量,不看 workflow 執行次數 | 固定月租 |
| 會遇到的事 | template 是第三方維護的 repo,頁面沒特別標記 N8N_ENCRYPTION_KEY,要自己在 Variables 設成舊的 | 官方 Docker Compose 文件要求至少 4 GB RAM、2 vCPU;docker-caddy 的 caddy_data 和 n8n_data 要先手動 docker volume create |
Railway 官方估算一般用量大約 US$5/月,重度用量抓 US$14/月 不想要碰 Linux 或 SSH 的話,選 Railway 最無腦
不過 Railway 的 template 頁面沒顯示 n8n 服務有掛 volume
所以一定要用環境變數固定 N8N_ENCRYPTION_KEY
不然每次重新部署 n8n 就會自己產一把新 Key,舊的 credential 全部解不開!
n8n 官方已經公告,3.0 起自架只支援 Docker 類部署,以前那種 npm 或 npx 安裝將不再支援 Zeabur 上的 n8n 本來就是跑 Docker,搬到 VPS 直接用 Docker 反而跟未來版本對齊
如果有在用 Claude Code,VPS 這條可以交給它代勞
把 docker-caddy 範例跟你的網域丟給它,讓它把 .env 範本寫好
但記得 N8N_ENCRYPTION_KEY 這類機密自己手動填,不要直接貼進對話
網頁專案:Cloudflare 優先
接案或商業網站,優先選 Cloudflare 現在主力推 Workers Static Assets,GitHub repo 接上 Workers Builds,push 之後自動部署 免費額度每個月有 3,000 build 分鐘,我自己現在的新專案也都在這
如果你是純靜態的個人小站,另外兩家也能考慮,但要注意條款限制:
- Vercel:開發體驗最順手,但 Hobby 方案明文禁止任何商業使用,也不能接 GitHub 組織帳號的 repo
- GitHub Pages:小站很夠用,但同樣禁止當作商業或 SaaS 網站,而且每次 push 要等 GitHub Actions 跑完,通常要等幾分鐘才看得到更新
原始碼本來就在 GitHub 的話,網頁專案搬家其實最快 只要到新平台連上 repo、設定 build 指令,重新部署一次就搞定,這塊最無痛!
如果有跑 Node 後端或資料庫,原則跟前面 n8n 一樣:想省事走 Railway,想完全掌控就自己租 VPS
n8n 搬家:怎麼做到無痛搬移
想要無痛搬移 n8n,最關鍵也最容易漏掉的就是 N8N_ENCRYPTION_KEY
資料庫裡的 credential 全部是用這把 Key 加密的
新環境如果沒有設好同一把,就算 workflow 和 credential 都搬過去了,全部連線密碼一樣解不開報錯
先把舊的 Key 拿出來
- 先看 Zeabur 上舊 n8n 服務的 Variables 有沒有
N8N_ENCRYPTION_KEY - 當初如果沒手動填,就是 n8n 第一次啟動時自動產生的,存在容器內
.n8n/config - 從 Zeabur 服務狀態頁的「指令」開終端機進容器,把
/home/node/.n8n/config裡面的 encryptionKey 複製出來
匯出再匯入
匯出跟匯入其實各跑兩行指令就結束 在舊 n8n 的容器裡執行:
n8n export:workflow --all --output=backups/workflows.json
n8n export:credentials --all --output=backups/credentials.json
匯出檔案後,可以直接用 cat 把內容印在終端機複製出來,或是透過後台檔案管理下載 因為容器重啟後暫存的檔案會消失,匯出後記得立刻存回本機
新環境建好 owner 帳號、確認設好同一把 N8N_ENCRYPTION_KEY 之後,再執行匯入:
n8n import:workflow --input=workflows.json
n8n import:credentials --input=credentials.json
匯入前後要注意的事:
- 匯入的 workflow 預設全部停用,要在 UI 上手動重新啟用
- 目標資料庫如果有相同 ID 的 workflow 或 credential,會直接覆蓋
- CLI 匯出不包含使用者帳號角色、執行紀錄與實例設定,這些要手動補
- 想連設定整庫一起搬,n8n 另外有
export:entities和import:entities,但官方要求匯入前資料庫必須完全空白
想順便換一把新 Key
匯出時加 --decrypted,credential 會以明文輸出,可以搬到使用不同 Key 的環境:
n8n export:credentials --all --decrypted --output=backups/decrypted.json
8 月那次官方列的外洩名單雖然沒有 N8N_ENCRYPTION_KEY,但這次事件影響較廣
如果這把 Key 本來就放在 Zeabur Variables,強烈建議走這條,換一把全新的 Key
網域轉出與 DNS 切換
先確認你的網域是哪一種:
- 在 Zeabur 買的:要轉出到其他註冊商
- 在別家買、只是指到 Zeabur 的:不用轉,改 DNS 紀錄就好 (但要記得你原本在哪裡管理 Domain,例如 GoDaddy 買的,預設會在那邊管理)
DNS 切換的順序:
- 新環境先用平台給的網址驗收完
- 暫停舊專案的寫入,避免兩邊資料不一致
- 改 DNS 指向新位置
有外部服務指到舊 webhook 網址的,例如 LINE 或付款通知 切完 DNS 後確認新網址有在運作中
退款申請:兩個申請與驗收清單
退款和資安賠償
- 即日起開始受理帳戶餘額退款
- 資安事件的損失賠償是另一個申請
- 兩個都走 Zeabur Support,信上要求聯絡時註明項目、帳戶、服務和問題說明
Support 入口在 https://zeabur.com/support ,點 Submit a ticket,問題類型有 Billing 訊息可以這樣寫:
項目:帳戶餘額退款(或:資安事件損失賠償)
帳戶:<註冊 Email>
服務:<專案名稱或服務 ID>
問題說明:<金額、時間、被盜用的服務>
賠償申請記得先把證據截圖留好,像是 AI 平台的 Usage 或帳單紀錄 Support 停止服務的日期官方也還沒公布,越早送越好
新環境驗收完才關舊的
- 重要的 workflow 在新環境手動跑一次
- 開幾個 credential 按測試,確認 Key 對了
- 外部 webhook 打進新網址收得到
- 舊環境對應的 workflow 先停用,再啟用新環境的,不然排程會跑兩次,LINE 通知會發兩次
- 資料庫裡面資料相同
- DNS 切完觀察一兩天,再關舊服務
共享叢集 12/1 就會暫停,所有驗收一定要在那之前測完 雖然暫停後還能手動恢復運行來備份,但千萬不要把驗收押在那個時間點
官方信上提到後續會提供遷移指南,也會出給 Claude Code、Codex 用的指引,但不需要乾等,現在就能動手搬 如果有拿環境變數或設定檔丟給 AI 幫忙寫設定,記得裡面的 Key 和密碼先遮掉
官方連最後的資料刪除日都還沒定,我的建議是 12/1 前全部搬完,不要等到 12/31










