สารบัญ — บทที่ ๔ / ๑๖
PART 1 · รู้จัก
๑ · BOMLLM คืออะไร
๒ · สถาปัตยกรรม 4 เครื่อง
๓ · ฮาร์ดแวร์ที่ต้องมี
PART 2 · ติดตั้ง
▸ ๔ · เตรียมเครือข่าย
๕ · Mac Mini = สมอง
๖ · VPS = หน้าบ้าน
๗ · .env และ litellm.yaml
๘ · Virtual keys และงบประมาณ
PART 3 · ใช้งาน
๙ · Open WebUI ครั้งแรก
๑๐ · ลงโมเดลเพิ่มและส่วนเสริม
๑๑ · ภาพและเสียง (optional)
๑๒ · สูตรภาษาไทย
PART 4 · ต่อช่องทาง
๑๓ · LINE และ Telegram bot
๑๔ · MT5 EA อ่านอย่างเดียว และ content pipeline
PART 5 · ดูแล
๑๕ · ความปลอดภัยและ monitoring
๑๖ · อัปเกรดและแก้ปัญหา
PART 2 · ติดตั้ง

04เตรียมเครือข่าย

Network: Tailscale + Cloudflare Tunnel

TL;DR — สรุปใน 30 วินาทีtldr

ก่อนติดตั้งอะไรทั้งสิ้น ต้องเตรียม "เส้นเลือด" ของระบบก่อน — เครือข่ายส่วนตัว Tailscale (mesh VPN) + ประตูสู่อินเทอร์เน็ต Cloudflare Tunnel หลักคิดง่าย ๆ: เครื่องทุกเครื่องคุยกันผ่าน tunnel ลับ และเปิดสู่โลกภายนอกแค่ประตูเดียวที่มี รป. ตรวจกุญแจ ไม่เปิดพอร์ตใน router เลย

เมื่อไหร่ควรใช้ / When to usewhen to use

ทำขั้นตอนนี้ทันทีที่มีเครื่องตั้งแต่ 2 เครื่องขึ้นไป — และต้องทำ ก่อนติดตั้ง VPS ในบทที่ ๖ เพราะ compose จะเรียก Mac ผ่าน IP ของ Tailscale

  • Tailscale ใช้กรณี: เครื่องในบ้านคุยกันเอง (VPS -> Mac, NAS -> i9) ทั้งใน LAN และจากนอกบ้าน — ได้ IP ปลอดภัยหน้าตา 100.x.y.z
  • Cloudflare Tunnel ใช้กรณี: เปิดบริการให้คนนอกเรียก HTTPS (เว็บแชท, API ของ bot) โดยไม่มีใครเห็น IP บ้านเรา
  • สองอย่างนี้ทำงานร่วมกัน ไม่ได้แทนกัน

วิธีทำ / How-tohow to

ขั้น 1 — สมัครและติดตั้ง Tailscale ทุกเครื่อง (ฟรีสำหรับใช้ส่วนตัว):

  1. สมัครบัญชีที่ tailscale.com (ใช้ Google/GitHub login ได้)
  2. ติดตั้งบน Mac: brew install --cask tailscale แล้ว login
  3. ติดตั้งบน VPS (Debian/Ubuntu): คำสั่ง curl จากเว็บ tailscale.com/download แล้ว tailscale up
  4. ติดตั้งบน Windows/อื่น ๆ ตามปกติ แล้ว approve ทุกเครื่องในหน้า admin console
  5. ตรวจว่าเห็นกันครบ: tailscale status

นี่คือผลจริงจากเครื่องในฟลีตเรา (ปิดช่อง IP บางส่วนเพื่อความปลอดภัย):

เครื่องในเครือข่าย (ตัวอย่างจริง ปิดบังบางหลัก) · tailscale status
100.x.y.z desktop windows -100.x.y.z vps-bomllm linux -100.x.y.z nas-ds725 linux -100.x.y.z macmini-ai macOS -# ทุกเครื่องอยู่ใน mesh เดียว = คุยกันได้ทันที ไม่ต้องเปิดพอร์ตไหนเลย

เครื่องของคุณจะได้ชื่อ+IP ของตัวเอง — จด IP ของ Mac ไว้ใช้ในบทที่ ๖

ขั้น 2 — ตั้ง Cloudflare Tunnel สำหรับ 2 ชื่อโดเมน (chat และ llm):

  1. โดเมนของคุณต้องจด DNS ไว้กับ Cloudflare ก่อน (แผนฟรีพอ)
  2. ติดตั้ง cloudflared บน VPS: ตามคู่มือ developers.cloudflare.com/cloudflare-one/connections/connect-networks/
  3. สร้าง tunnel แล้วชี้ 2 เส้นทาง: chat.โดเมนคุณ.com → localhost:3000 และ llm.โดเมนคุณ.com → localhost:4000
  4. เปิดระบบกันซ้ำ Cloudflare Access (เข้าผ่านอีเมล OTP) สำหรับหน้า admin — ดูภาพจริงด้านล่าง

ถ้าติดตรงไหน → บทที่ ๑๖

ตัวอย่างการตั้งค่า / Config exampleconfig example

หลักการตั้งค่าที่ต้องจำตลอดทั้งคู่มือ:

# กฎเหล็กของ BOMLLM เรื่องเครือข่าย
1. ทุก service bind 127.0.0.1 เท่านั้น (ยกเว้น Tailscale interface)
2. สาธารณะเข้าได้ทางเดียว = Cloudflare Tunnel
3. Mac เปิด Ollama ให้ Tailscale IP เท่านั้น (pf firewall เปิด)
4. SSH ใช้พอร์ตไม่มาตรฐาน + key เท่านั้น + ufw DROP เป็นค่าตั้งต้น

ที่มา: docs/security.md — ตรวจซ้ำทุกรอบ audit

Pro tip — เคล็ดลับจากสนามจริงpro tip

★ PROD LESSON
ประตูคู่ Cloudflare Access — หน้า admin ทั้งหมด (เช่น แผงควบคุม LiteLLM) เราครอบด้วย Cloudflare Access อีกชั้น — ต้องผ่าน OTP อีเมลก่อนถึงจะเห็นหน้า login เดิม แปลว่าแม้ซอฟต์แวร์จะมีช่องโหว่ โลกภายนอกก็ยังเข้าไม่ถึง
★ PRO TIP
Tailscale ไม่ได้ทำให้ช้า — ความหน่วงผ่าน Tailscale ในประเทศเดียวกัน ~ไม่กี่ ms — สัญญาณณ LLM ทั้งเส้นทาง (ผู้ใช้ → VPS → Mac) รวมแล้วยังเร็วกว่าเรียกคลาวด์ต่างประเทศชัดเจน (p50 5.2 วิ vs 35.1 วิ ในผลทดสอบ 50 เคส)

คำถามที่พบบ่อย / FAQfaq

ถาม: Tailscale ฟรีจริงหรือ แล้วข้อมูลรั่วไหม? — แผนส่วนบุคคลฟรี 100 อุปกรณ์ ตัวเชื่อมต่อเป็น open source traffic ถูกเข้ารหัส WireGuard ตลอดเส้นทาง — เซิร์ฟเวอร์ของ Tailscale แค่ช่วยจัดการ "จับคู่" ไม่ได้อ่านข้อมูล

ถาม: ไม่มีโดเมนเป็นของตัวเอง? — โดเมน .com ปีละ ~300–400 บาท และ Cloudflare แผนฟรีพอสำหรับ tunnel — คือค่าใช้จ่ายที่คุ้มที่สุดของทั้งระบบ

คำถามอื่น ๆ ดูที่ FAQ

ดูเพิ่ม / See alsosee also

ภาพประกอบ / Figuresfigures

หน้ายืนยันตัวตน Cloudflare Access ก่อนเข้าหน้า admin ของระบบจริง
ภาพจริงจากระบบ production — ผู้ไม่มีสิทธิ์เห็นแค่นี้ ไปต่อไม่ได้
แผนภาพแสดงเส้น Tailscale และ Cloudflare Tunnel
เส้นทึบ = mesh VPN, เส้นเข้าจากอินเทอร์เน็ต = ผ่าน tunnel ประตูเดียว

วิดีโอ / Videovideo

🎬
วิดีโอกำลังผลิต — ติดตามที่ YouTube @icafefx
คลิปสาธิตทีละขั้นของบทนี้จะอัปโหลดที่ youtube.com/@icafefx เร็ว ๆ นี้