BotKit
บทความ › n8n และระบบอัตโนมัติ

ติดตั้ง n8n ใช้ฟรีบนเครื่องตัวเอง: npx, Docker และ 5 เรื่องที่ต้องรู้ก่อนใช้งานจริง

n8n เป็นเครื่องมือทำ workflow อัตโนมัติแบบลากต่อกล่อง คล้าย Zapier หรือ Make แต่เอามารันบนเครื่องตัวเองได้ (self-host) โดยไม่เสียค่ารายเดือน ผมใช้ n8n รันบนคอมที่บ้าน ทำงานอย่างดึงข้อมูล ร่างโพสต์ด้วย AI แล้วส่งให้กดอนุมัติก่อนโพสต์

บทความนี้บอกวิธีติดตั้งสองแบบ และเรื่องที่ควรรู้ก่อนเอาไปใช้กับงานจริง ซึ่งคู่มือส่วนใหญ่ไม่ค่อยพูดถึง

แบบที่ 1: รันด้วย npx (เร็วที่สุด เหมาะกับลองเล่น)

ต้องมี Node.js ในเครื่องก่อน (ใช้เวอร์ชันที่ n8n รองรับ ดูได้ในหน้าติดตั้งแบบ npm ของเอกสาร n8n) จากนั้นเปิด PowerShell หรือ Terminal แล้วพิมพ์

npx n8n

รอโหลดสักพัก แล้วเปิดเบราว์เซอร์ไปที่ http://localhost:5678 สร้างบัญชีเจ้าของ (owner) ครั้งแรก ก็เริ่มใช้ได้

ถ้าจะใช้ประจำ ติดตั้งแบบถาวรได้ด้วย

npm install n8n -g
n8n start

แบบที่ 2: รันด้วย Docker (แนะนำถ้าจะใช้ยาว)

Docker แยก n8n ออกจากเครื่องหลัก อัปเดตง่าย และย้ายเครื่องง่ายกว่า

docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 ^
  -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

(บน Windows ใช้ ^ ต่อบรรทัดใน cmd ถ้าใช้ PowerShell เปลี่ยนเป็น ` บน Mac/Linux ใช้ \) ส่วน -v n8n_data:... สำคัญมาก ถ้าไม่ใส่ ข้อมูลทั้งหมดจะหายเมื่อปิด container

เรื่องที่ 1: ข้อมูลเก็บที่ไหน และต้องสำรองอะไร

ถ้าติดตั้งแบบ npm ข้อมูลอยู่ในโฟลเดอร์ .n8n ใน home ของผู้ใช้ (บน Windows คือ C:\Users\ชื่อผู้ใช้\.n8n) ข้างในมีฐานข้อมูล SQLite ที่เก็บ workflow และไฟล์ config ที่มี encryption key

⚠️ credentials ทุกตัว (API key, token ที่ใส่ใน n8n) ถูกเข้ารหัสด้วย key นี้ ถ้าสำรองแค่ฐานข้อมูลแต่ไม่สำรอง key ย้ายเครื่องแล้ว credentials จะใช้ไม่ได้ทั้งหมด ให้สำรองทั้งโฟลเดอร์ .n8n และ export workflow เป็นไฟล์ JSON เก็บไว้อีกชั้น

เรื่องที่ 2: Webhook จากข้างนอกเข้ามาไม่ได้

ถ้า workflow เริ่มด้วย Webhook node เช่น ให้ LINE หรือ Facebook ส่งข้อมูลมา บริการพวกนั้นเรียก localhost ของเราไม่ได้ ต้องมี URL สาธารณะ ทางเลือกที่ใช้กันคือทำ tunnel เช่น Cloudflare Tunnel (cloudflared) ให้ชื่อโดเมนชี้เข้าเครื่องเรา แล้วตั้งตัวแปร WEBHOOK_URL ให้ n8n รู้ URL จริง ไม่อย่างนั้น URL ที่ n8n แสดงในหน้า Webhook node จะเป็น localhost ซึ่งเอาไปกรอกที่อื่นไม่ได้

เรื่องที่ 3: เครื่องปิด = automation หยุด

self-host บนคอมที่บ้านฟรีก็จริง แต่ถ้าเครื่องดับ เครื่องหลับ หรือเน็ตหลุด ทุก workflow หยุดหมด งานที่ต้องทำงานตลอดเวลา เช่น บอทตอบลูกค้า ไม่ควรฝากไว้กับคอมที่บ้าน ให้ใช้ n8n กับงานที่ช้าได้ หรือย้ายไปรันบนเซิร์ฟเวอร์ (VPS) เมื่อจำเป็นต้องทำงานตลอด และอย่าลืมปิดโหมด sleep ของเครื่องที่ใช้รัน

เรื่องที่ 4: License — ฟรี แต่มีเงื่อนไข

n8n ใช้ license แบบ Sustainable Use License (แนว fair-code) ไม่ใช่ open source แบบไม่มีเงื่อนไข โดยทั่วไปใช้ภายในธุรกิจตัวเอง หรือทำ workflow ให้ลูกค้าได้ แต่การเอา n8n ไปเปิดเป็นบริการให้คนอื่นใช้แบบ SaaS มีข้อจำกัด ถ้าจะใช้เชิงพาณิชย์ให้อ่านหน้า license ของ n8n ก่อน

เรื่องที่ 5: อัปเดตความปลอดภัยสม่ำเสมอ

n8n ออกประกาศช่องโหว่ความปลอดภัยเป็นรอบๆ (สมัครรับอีเมลได้) และบางรายการเป็นระดับ High ถ้าเปิด n8n ออกอินเทอร์เน็ตผ่าน tunnel ยิ่งต้องอัปเดตให้ทัน ข้อปฏิบัติพื้นฐานคือ

  • ตั้งรหัสผ่านบัญชี owner ที่เดายาก
  • อัปเดต n8n เมื่อมีประกาศ (Docker: docker pull docker.n8n.io/n8nio/n8n แล้วรันใหม่)
  • ระวังการติดตั้ง community node จากแหล่งที่ไม่รู้จัก
  • เปิดเฉพาะ path ของ webhook ที่จำเป็นออกข้างนอก ถ้า tunnel ตั้งค่าได้

เริ่มทำ workflow แรก

workflow แรกที่แนะนำคือ Schedule Trigger → HTTP Request → ส่งข้อความ เช่น ทุกเช้า 8 โมงดึงข้อมูลจากเว็บหรือ API แล้วส่งสรุปเข้าแชท ทำได้ในไม่กี่นาที และได้เรียนรู้ส่วนหลักของ n8n ครบ: trigger, การดึงข้อมูล, การแปลงข้อมูล และการส่งออก

ถ้าในขั้นตอนมี AI ร่วมด้วย อ่านต่อเรื่องการคุมค่าใช้จ่ายได้ที่ คุมค่า AI API ไม่ให้บิลบาน

เกี่ยวกับผู้เขียน — Jark นักพัฒนา LINE Bot และระบบ AI อัตโนมัติ อยู่เชียงใหม่ ทำระบบตอบแชทและจองคิวให้ร้านค้าจริง บทความในเว็บนี้มาจากงานที่ลงมือทำเอง อ่านเพิ่ม