Vxero Neo
Vxero Neo 是原生 SSH 的 CLI,透過安裝 Docker 與 Caddy 將 Docker 應用部署到任何 VPS,自動 HTTPS 並支援零停機切換。
Vxero Neo 是什麼?
Vxero Neo (Neo) 是一個原生 SSH 的命令列工具,用於將 Docker 應用部署到 VPS。它透過 SSH 連線到您的伺服器,設定 Docker 和 Caddy,並以自動 SSL 提供 HTTPS 部署您的應用程式—無需安裝代理程式或使用獨立的控制平面。
Neo 也管理應用程式的生命週期,從本地開發到 staging 和 production。它讀取本地專案設定檔(包含 docker-compose.yml、.env 和 .neo.yml),透過 SSH 建置並傳輸映像檔,執行健康檢查,並以零停機切換流量。
主要功能
- 僅 SSH 部署流程(無代理、無儀表板): Neo 在您的本地機器執行,並透過 SSH 連線到 VPS;除了 Docker/Caddy 作為執行環境外,不需額外的伺服器端工具。
- 自動伺服器初始化(Docker + Caddy): 部署時,Neo 在目標伺服器上設定 Docker 和 Caddy,讓容器能執行並接收 HTTPS 流量。
- 從 compose/設定到即時切換: Neo 讀取本地設定,建置映像檔,透過 SSH 傳輸,健康檢查後切換流量;舊容器會持續執行直到切換。
- 即時 HTTPS 網域與替代憑證選項: Neo 可使用 sslip.io(無需 DNS)搭配
--temp提供 HTTPS。對於真實網域,可使用 Let’s Encrypt via Caddy(DNS 指向後),或以--cert和--key提供自有憑證。 - 設定生成與環境管理:
neo config generate掃描 docker-compose.yml,自動偵測應用服務、sidecars、工作處理程序、環境變數和磁碟區,生成 .neo.yml。Neo 也能透過neo env和neo sync等指令同步環境/狀態。 - 藍綠式零停機部署: 啟動新容器,等待健康檢查後執行流量切換,先前版本會持續可用直到轉移。
- 工作處理程序、sidecars 與持久磁碟區: 在 .neo.yml 中定義背景工作處理程序和 sidecars,與主應用一同部署,共享磁碟區和環境變數。在 .neo.yml 中宣告磁碟區,以在重新部署時持久化資料。
- 多伺服器與各環境設定: 使用如
--to staging等旗標部署到 staging 或 production;每個環境可有專屬網域、環境變數和 SSL 設定。
如何使用 Vxero Neo
- 準備專案: 確保應用以
docker-compose.yml(及選用的.env)描述。 - 生成 Neo 部署設定: 在專案目錄執行
neo config generate。Neo 掃描docker-compose.yml,寫入.neo.yml,包含偵測到的服務如應用、工作處理程序/sidecars(若定義/偵測到)、環境變數和磁碟區。 - 本地開發(選用但支援): 使用
neo dev包裝 docker-compose,從.neo.yml載入 Neo 環境。 - 透過 SSH 部署: 執行
neo deploy針對您的 VPS。Neo 從 Dockerfile(及 compose 衍生設定)建置映像檔,透過 SSH 傳輸,執行健康檢查並切換流量。 - 啟用 HTTPS: 使用
neo domain --temp取得基於 sslip.io 的即時 HTTPS URL,或 DNS 指向後使用 Let's Encrypt 自動 SSL,或提供--cert/--key使用自有憑證。
使用情境
- 單一 VM Docker 應用部署: 每個 VPS 部署一個容器化應用(例如網頁服務),偏好 SSH 自動化而非叢集協調器。
- Staging → production 共享設定: 跨環境使用相同設定(透過 .neo.yml 生成與環境載入),部署到 staging 後以不同網域/SSL 設定升級到 production。
- 含 sidecars 與背景工作處理程序的應用: 部署主應用連同
.neo.yml中定義的工作處理程序與 sidecar 容器,包含共享環境變數和磁碟區。 - 無需 DNS 變更即可快速取得 HTTPS 的專案: 使用
neo domain --temp以 sslip.io 取得即時 HTTPS URL 進行測試,DNS 準備好後再切換到真實網域。 - 小團隊零停機發行: 以健康檢查執行藍綠式更新,先前版本持續運作直到新容器準備好。
常見問題
-
Neo 會在我的伺服器上安裝代理程式嗎? 不會。Neo 在您的本地機器上執行,並透過 SSH 連線到您的 VPS。伺服器上僅設定 Docker 和 Caddy 用於應用程式執行環境。
-
我已經在使用 docker-compose,如何切換到 Neo? 在您的專案目錄中執行
neo config generate。Neo 會掃描docker-compose.yml並自動產生.neo.yml,然後您即可使用neo deploy部署應用程式。 -
支援哪些雲端供應商? Neo 可部署到任何提供 SSH 存取的 VPS,例如 DigitalOcean、Hetzner、Linode、Vultr、AWS EC2、GCP 和 Azure。Neo 部署到單一 VM(它不是像 Kubernetes 或 Docker Swarm 這類的多節點叢集協調器)。
-
HTTPS 如何運作? Neo 支援
neo domain --temp以 sslip.io 即時取得 HTTPS、neo domain app example.com在 DNS 指向後使用 Let’s Encrypt 自動 SSL,以及--cert/--key使用您自己的憑證。 -
Neo 可以執行背景工作處理器和資料庫嗎? 工作處理器可在
.neo.yml中宣告,並以相同映像、環境變數和磁碟區部署為獨立容器。對於資料庫,Neo 可將其作為 Docker sidecars/服務執行於小型專案;對於有實際使用者的生產環境,建議使用託管資料庫。
替代方案
- 手動 Docker + Caddy 部署腳本: 如果您偏好完全控制並已有自己的部署自動化,您可以自行建置並傳輸映像、執行容器,並管理 Caddy/SSL。這通常比 Neo 的單指令工作流程需要更多設定工作。
- Docker Swarm 或 Kubernetes: 這些是多節點部署的叢集協調器。它們與 Neo 不同之處在於針對叢集協調而非單一 SSH 可存取的 VPS。
- 其他以 VPS 為中心的 CI/CD 管道: 您可以使用通用 CI/CD 工具 SSH 連線到伺服器、建置映像並重新啟動容器。相較於 Neo,您需自行處理設定產生、零停機切換邏輯和 HTTPS 整合。
- 託管容器平台: 管理路由和 TLS 的平台可減少基礎設施步驟。它們通常會犧牲 Neo 描述的「SSH 優先、無代理/控制平面」部署模式。
替代品
Falconer
Falconer 是自動更新的知識平台,讓高速度團隊在同一處撰寫、分享並搜尋可靠的內部文件與程式碼脈絡。
OpenFlags
OpenFlags 是開源、可自架設的功能旗標系統,支援逐步交付;App SDK 可本地評估,控制平面提供安全、精準的發佈。
skills-janitor
skills-janitor 可審核並追蹤 Claude Code 技能用量,與 9 個聚焦指令做比較,幫你找重複與缺失資訊,無需依賴。
Rectify
Rectify 是一站式 SaaS 作業平台,整合監控、分析、支援、路線圖/更新日誌與代理管理,透過對話介面統一操作。
GitBoard
GitBoard 是原生 macOS 選單列 App,讓你在不離開工作流程下查看 GitHub Projects 看板,按狀態篩選並搜尋議題。
Studio CLI
用終端機控制 Studio 的 WordPress 相關功能;管理本機 Studio 站點、建立/更新/刪除 WordPress.com 預覽網站並進行認證。