# การปรับใช้ Neotask สามารถรันได้ทุกที่, จากแล็ปท็อปของคุณไปจนถึง Kubernetes cluster เลือกวิธีการปรับใช้ที่เหมาะกับความต้องการของคุณ ## การติดตั้งในเครื่อง วิธีที่ง่ายที่สุดในการเริ่มต้น ติดตั้ง Neotask โดยตรงบน macOS, Linux หรือ Windows (ผ่าน WSL2) Gateway รันเป็น background service ที่จัดการโดย launchd (macOS) หรือ systemd (Linux) **ความต้องการ:** Node.js 22+ **สิ่งที่คุณได้รับ:** - Gateway รันเป็น background service - การเริ่มต้นอัตโนมัติเมื่อเปิดเครื่อง - macOS companion app (บน macOS) - เครื่องมือ CLI ทั้งหมด ## Docker รัน Gateway ใน Docker container พร้อม volume ที่มี config และ workspace ถาวร เหมาะสำหรับการปรับใช้บน VPS หรือเมื่อคุณต้องการการแยกตัวจากระบบ host **ฟีเจอร์:** - Image สำเร็จรูปบน Node 22 (Debian) - Chromium + Xvfb ที่ไม่บังคับสำหรับการทำงานอัตโนมัติของเบราว์เซอร์ (เพิ่ม ~300MB) - การตั้งค่า Docker Compose พร้อม volume ถาวร - Health check endpoint ที่ `/health` - รันในฐานะผู้ใช้ `node` ที่ไม่ใช่ root - การรองรับ agent sandbox (Docker-in-Docker สำหรับการรันแบบแยกตัว) **State ถาวร:** - Configuration: `~/.neotask/neotask.json` - Workspace: `~/.neotask/workspace/` - Sessions: `~/.neotask/agents/*/sessions/` - Channel state: `~/.neotask/whatsapp/`, เป็นต้น ## Kubernetes ปรับใช้กับ Kubernetes โดยใช้รูปแบบ StatefulSet สำหรับที่เก็บข้อมูลถาวร มี Helm chart ที่ชุมชนดูแลรักษา **การตั้งค่าทั่วไป:** - **StatefulSet** สำหรับ Gateway (เซสชันถาวรและ config) - **ConfigMap** สำหรับ configuration `neotask.json` - **Secret** สำหรับ token และ API key - **PersistentVolumeClaim** สำหรับข้อมูลเซสชันและ workspace - **Service** (ClusterIP หรือ LoadBalancer) สำหรับการเข้าถึง WebSocket ## Fly.io การปรับใช้ด้วยคำสั่งเดียวไปยัง Fly.io พร้อม volume ถาวรและ HTTPS อัตโนมัติ **ฟีเจอร์:** - x86 VM พร้อม RAM ที่กำหนดค่าได้ (ค่าเริ่มต้น 2048MB) - Volume `/data` ถาวรสำหรับ config และเซสชัน - การยุติ TLS อัตโนมัติ - การเข้าถึง SSH สำหรับการกำหนดค่า - การรองรับ webhook ผ่าน ngrok (ที่ไม่บังคับ) ## Hetzner VPS รันบน Hetzner VPS เฉพาะด้วย Docker Compose มีการรองรับ infrastructure-as-code เต็มรูปแบบพร้อม Terraform module ของชุมชน **การตั้งค่าประกอบด้วย:** - การกำหนดค่า Docker Compose - ไดเรกทอรีถาวรสำหรับ config, workspace และ channel state - Dockerfile กำหนดเองสำหรับ baking ไบนารีที่ต้องการ - ไฟร์วอลล์และการเสริมความปลอดภัย ## Render การปรับใช้แบบ blueprint บน Render พร้อม build อัตโนมัติและดิสก์ถาวร 1GB ## GCP Compute Engine การปรับใช้บน Docker บน Google Cloud พร้อมดิสก์ถาวรและการทำงานอัตโนมัติเมื่อเริ่มต้น ## Podman การรัน container แบบ rootless ด้วย Podman และการรองรับ systemd Quadlet เหมาะสำหรับสภาพแวดล้อมที่การเข้าถึง Docker daemon ถูกจำกัด ## การเลือกการปรับใช้ | ความต้องการ | ที่แนะนำ | |------|-------------| | แค่ลองใช้ | การติดตั้งในเครื่อง | | การใช้งานส่วนตัวบน Mac | Local + macOS companion app | | Server ที่ทำงานตลอดเวลา | Docker บน VPS (Hetzner, DigitalOcean) | | Production ที่ scale ได้ | Kubernetes | | การปรับใช้คลาวด์รวดเร็ว | Fly.io หรือ Render | | Container แบบ rootless | Podman | ## การเข้าถึงระยะไกล โดยค่าเริ่มต้น Gateway จะรับฟังเฉพาะบน localhost (127.0.0.1) สำหรับการเข้าถึงระยะไกล: - **Tailscale**, VPN mesh network พร้อม DNS อัตโนมัติ Gateway สามารถ bind กับ Tailnet ของคุณเพื่อการเข้าถึงที่ปลอดภัยจากทุกที่ Tailscale Serve สามารถเปิดเผยแดชบอร์ดด้วย HTTPS - **SSH Tunnel**, ส่งต่อพอร์ต Gateway ผ่าน SSH เพื่อการเข้าถึงระยะไกลที่ปลอดภัยโดยไม่ต้องเปิดเผยพอร์ต - **LAN Bind**, Bind กับเครือข่ายท้องถิ่นของคุณเพื่อการเข้าถึงจากอุปกรณ์อื่นในเครือข่ายเดียวกัน การค้นพบอัตโนมัติผ่าน Bonjour/mDNS ดูที่ [Gateway](gateway.md) สำหรับรายละเอียดการกำหนดค่า