Vibe Companion và Cloudflare Tunnel trên Raspberry Pi

Tóm tắt

Hướng dẫn từng bước cài Vibe Companion (giao diện web cho Claude Code CLI) trên Raspberry Pi (10.0.0.22) chạy như systemd service, rồi expose ra Internet qua tên miền companion.nguyenbinhson.com bằng Cloudflare Tunnel (pi-companion, ID 4b6f77e3-...) — không cần mở cổng nào trên router. Lớp bảo mật cuối là Cloudflare Access, yêu cầu xác thực email OTP trước khi vào ứng dụng.

Điểm chính

  • Companion chạy bằng bunx the-vibe-companion, đóng gói thành systemd service (companion.service) lắng nghe localhost:3456, không expose trực tiếp ra ngoài.
  • Cloudflare Tunnel (cloudflared) chạy trên Pi, kết nối outbound tới Cloudflare, tạo CNAME companion.nguyenbinhson.com → <tunnel-id>.cfargotunnel.com.
  • File cấu hình tunnel phải đặt tại /etc/cloudflared/ (không phải ~/.cloudflared/) vì cloudflared service install chạy dưới quyền root và không đọc được home directory của user thường.
  • Cloudflare Access tạo policy “Only me” cho phép đúng 1 email cá nhân, xác thực bằng mã OTP gửi qua email trước khi truy cập app.
  • Kiến trúc bảo mật: router không mở cổng cho Companion (chỉ WireGuard UDP 51820 vẫn mở port-forward), IP nhà ẩn sau proxy Cloudflare, Companion chỉ bind localhost.
  • Cloudflare Tunnel free tier: không giới hạn băng thông, tối đa 50 user Access.

Khái niệm

Người liên quan

Câu hỏi mở

  • Companion + Tunnel đã được dựng lại trên hệ thống mới của Pi hay chưa? Đã xác minh qua SSH (2026-07-23): chưa. Không tìm thấy the-companion hay cloudflared ở tầng hệ điều hành trên Pi (đã cài lại Ubuntu 26.04, user _) — hướng dẫn này (dùng user iam, systemd service companion) mô tả một setup hiện không còn tồn tại. Muốn dùng lại cần cài đặt lại từ đầu theo các bước ở đây.