Vibe Companion và Cloudflare Tunnel trên Raspberry Pi
⚠️ ĐÃ NGỪNG DÙNG (deprecated) — 2026-08-03. Chủ hệ thống xác nhận không còn dùng Vibe Companion trên Pi nữa và không có kế hoạch dựng lại. Tài liệu này giữ lại làm tư liệu lịch sử, không phải hướng dẫn nên làm theo. Xem phần “Trạng thái hiện tại” bên dưới.
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 nghelocalhost: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 CNAMEcompanion.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 installchạ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
Trạng thái hiện tại (xác minh qua SSH 2026-08-03)
Setup mô tả trong tài liệu này không còn tồn tại và sẽ không được dựng lại — chủ hệ thống đã quyết định ngừng dùng Companion trên Pi. Kết quả kiểm tra trực tiếp:
- Không có systemd unit tên
companion(cả ở tầng hệ thống lẫn tầng user), không có tiến trình nào đang chạy. - Không có
the-companion,the-vibe-companion,bunhaybunxtrên máy — runtime Bun cũng không còn được cài. - Cổng
3456không có gì lắng nghe. cloudflaredcó chạy, nhưng là một tunnel khác (bdcd1edd-…, không phảipi-companion4b6f77e3-…trong tài liệu này). Ingress hiện tại chỉ gồm SSH (homelab.nguyenbinhson.com) và AdGuard DoH (dns.nguyenbinhson.com/dns-query) — xem ssh-vao-pi-qua-cloudflare-tunnel-va-access và dns-over-https-cho-adguard-qua-cloudflare-tunnel.- Tên miền
companion.nguyenbinhson.comkhông còn phân giải — bản ghi DNS đã bị gỡ.
Lưu ý: lần kiểm tra trước (2026-07-23) kết luận “không tìm thấy cloudflared”. Điều đó không còn đúng — cloudflared đã được cài lại sau đó cho mục đích SSH và DoH, chỉ riêng phần Companion là bỏ hẳn.
Còn giữ được gì từ tài liệu này
Dù Companion bỏ đi, mấy điểm sau vẫn đúng và vẫn đang được áp dụng cho các dịch vụ khác trên Pi:
- Config
cloudflaredphải đặt tại/etc/cloudflared/chứ không phải~/.cloudflared/. - Mô hình bảo mật “dịch vụ chỉ bind localhost + Cloudflare Tunnel + Cloudflare Access policy Only me” — vẫn là khuôn mẫu dùng cho SSH-over-Tunnel hiện tại.
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?Đã khép lại (2026-08-03): không, và sẽ không dựng lại. Xem phần “Trạng thái hiện tại”.