n8n on Local Host

ในยุคที่ Automation และ AI กลายเป็นหัวใจของการทำงาน n8n คือหนึ่งในเครื่องมือ Open-source ที่ได้รับความนิยมอย่างมาก สำหรับการสร้าง Workflow เชื่อมต่อระบบต่าง ๆ โดยไม่ต้องเขียนโค้ดมาก แต่รู้หรือไม่ว่า… คุณสามารถเริ่มต้นใช้งาน n8n ได้ง่ายที่สุดด้วยการรัน บนเครื่องของตัวเอง (Local Host)

n8n on Local Host คืออะไร

n8n on Local Host คือการติดตั้งและรัน n8n บนเครื่องคอมพิวเตอร์ของเราเอง ไม่ว่าจะเป็น Laptop / PC / Server ภายในองค์กร ลักษณะการทำงานเช่น n8n รันอยู่บนเครื่องเรา เข้าผ่านเว็บเบราว์เซอร์ที่

http://localhost:5678

หรือ URL ต่างๆ ที่คุณกำหนดขึ้น กล่าวง่าย ๆ คือ “Automation Server ส่วนตัว ที่เราเป็นเจ้าของเอง”

ทำไมควรเริ่มที่ Local Host

1. เริ่มต้นง่ายมาก

การเริ่มต้นใช้งาน n8n บน Local Host ทำได้ง่ายและรวดเร็ว โดยไม่จำเป็นต้องสมัครบริการ Cloud หรือเตรียมโครงสร้างระบบที่ซับซ้อน ผู้ใช้งานเพียงติดตั้ง Docker บนเครื่องคอมพิวเตอร์ ก็สามารถรัน n8n และเริ่มสร้าง workflow ได้ทันที เหมาะอย่างยิ่งสำหรับผู้ที่ต้องการทดลอง เรียนรู้ หรือพัฒนา automation โดยไม่ต้องมีค่าใช้จ่ายเพิ่มเติม และสามารถควบคุมสภาพแวดล้อมการทำงานได้ด้วยตนเองทั้งหมด

2. ควบคุมข้อมูลได้ทั้งหมด

การใช้งาน n8n บน Local Host ช่วยให้ผู้ใช้งานสามารถควบคุมข้อมูลทั้งหมดได้ด้วยตนเอง ทั้งข้อมูล workflow, credentials และข้อมูลที่ถูกประมวลผลผ่านระบบ โดยข้อมูลจะถูกจัดเก็บอยู่ภายในเครื่องหรือเซิร์ฟเวอร์ขององค์กร ไม่จำเป็นต้องส่งผ่านไปยังบริการของบุคคลที่สาม จึงเหมาะอย่างยิ่งสำหรับงานที่เกี่ยวข้องกับข้อมูลภายใน ข้อมูลสำคัญ หรือการทดลองพัฒนา AI และ automation ที่ต้องการความเป็นส่วนตัวและความปลอดภัยสูง

3. เหมาะกับการเรียนรู้และทดลอง

n8n บน Local Host เป็นสภาพแวดล้อมที่เหมาะอย่างยิ่งสำหรับการเรียนรู้และการทดลองใช้งาน ผู้ใช้งานสามารถสร้าง แก้ไข และทดสอบ workflow ได้อย่างอิสระโดยไม่ต้องกังวลกับผลกระทบต่อระบบจริง หากเกิดข้อผิดพลาดสามารถหยุด ลบ หรือรันระบบใหม่ได้ทันที ทำให้เหมาะสำหรับผู้เริ่มต้น นักพัฒนา รวมถึงผู้ที่ต้องการทดลองเชื่อมต่อ API หรือพัฒนา AI workflow ก่อนนำไปใช้งานจริงในระดับ production

ข้อจำกัดที่ควรรู้

  • ต้องเปิดเครื่องตลอด ถ้าจะใช้งานต่อเนื่อง
  • คนอื่นเข้าถึงไม่ได้ (ถ้าไม่ตั้งค่าเพิ่ม)
  • ไม่เหมาะกับ production ขนาดใหญ่
  • ต้องดูแล backup เอง

เพราะฉะนั้น Local Host มักใช้เป็น:

  • Development
  • Testing
  • Internal tool
  • AI Lab

ในบทความนี้จะกล่าวถึงการติดตั้ง n8n บน Local Host การเชื่อมต่อการทำงานร่วมกับ Ollama รวมถึงการเปิดใช้งาน Tunnel เพื่อให้สามารถรับการเชื่อมต่อจากบริการภายนอกมายัง n8n ที่ทำงานอยู่บนเครื่องของเราได้ อย่างไรก็ตาม แนวทางดังกล่าวเหมาะสำหรับการทดลองและการพัฒนาเท่านั้น และยังไม่เหมาะสำหรับการนำไปใช้งานในสภาพแวดล้อมระดับ production


Prerequisites

สิ่งที่ต้องเตรียมก่อนเริ่มใช้งาน

ก่อนดำเนินการติดตั้งและใช้งาน n8n บน Local Host ผู้ใช้งานจำเป็นต้องติดตั้ง Docker บนเครื่องให้เรียบร้อยก่อน

การติดตั้ง Docker

  • Docker Desktop รองรับระบบปฏิบัติการ macOS, Windows และ Linux
    โดย Docker Desktop จะมาพร้อมกับ
    • Docker Engine
    • Docker Compose
      ซึ่งเพียงพอสำหรับการใช้งาน n8n ทั่วไป และเหมาะสำหรับผู้เริ่มต้น
  • สำหรับระบบ Linux ผู้ใช้งานสามารถเลือกติดตั้ง
    • Docker Engine และ Docker Compose แยกเป็นแพ็กเกจได้
      เหมาะสำหรับกรณี
    • เครื่อง Server ที่ไม่มี Graphical Interface (GUI)
    • สภาพแวดล้อมที่ไม่ต้องการใช้งาน Docker Desktop UI
    • การติดตั้งบนระบบ Production หรือ Server ภายในองค์กร

แนะนำให้ตรวจสอบว่า Docker สามารถทำงานได้อย่างถูกต้องก่อนเริ่มขั้นตอนถัดไป


Docker Engine และ Docker Compose

Docker Engine

Docker Engine คือแกนหลักของ Docker ทำหน้าที่เป็นระบบสำหรับ

  • สร้าง (build)
  • รัน (run)
  • และจัดการ (manage) container

Docker Engine ประกอบด้วยส่วนสำคัญ เช่น:

  • Docker Daemon (ทำงานเบื้องหลัง)
  • Docker CLI (คำสั่ง docker run, docker ps ฯลฯ)

เมื่อใช้งาน n8n บน Local Host
Docker Engine จะเป็นตัวที่รัน n8n container ให้ทำงานจริงบนเครื่องของเรา

หากไม่มี Docker Engine จะไม่สามารถรัน n8n ด้วย Docker ได้


Docker Compose

Docker Compose เป็นเครื่องมือสำหรับกำหนดและจัดการ container หลายตัวพร้อมกัน
โดยใช้ไฟล์กำหนดค่าเพียงไฟล์เดียว คือ docker-compose.yml

Docker Compose ช่วยให้:

  • กำหนด service ได้เป็นโครงสร้าง
  • ตั้งค่า port, volume, environment variables ได้ชัดเจน
  • สั่งรันทั้งหมดด้วยคำสั่งเดียว

ตัวอย่างแนวคิด:

docker compose up -d

สำหรับ n8n, Docker Compose เหมาะมากในกรณี:

  • ต้องการเก็บข้อมูลถาวร (volume)
  • มีการตั้งค่า environment หลายค่า
  • เชื่อมต่อกับ service อื่น เช่น Database, AI, Ollama
  • ต้องการ setup ที่นำไปใช้ซ้ำหรือย้ายเครื่องได้ง่าย

Starting n8n

หลังจากติดตั้ง Docker เรียบร้อยแล้ว ให้เริ่มต้นใช้งาน n8n บน Local Host ตามขั้นตอนดังนี้ โดยในกระบวนการที่แนะนำนี้ใช้เป็น Docker Engine ตามตัวอย่างของเอกสาร n8n และมีการปรับปรุงให้เหมาะสมกับการทำงานของคนไทย

1. สร้าง Volume สำหรับเก็บข้อมูลถาวร

docker volume create n8n_data

2. รัน n8n Container

docker run -d \

  --name n8n \

  --restart unless-stopped \

  -p 5678:5678 \

  -e TZ=Asia/Bangkok \

  -e GENERIC_TIMEZONE=Asia/Bangkok \

  -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \

  -e N8N_RUNNERS_ENABLED=true \

  -e N8N_SECURE_COOKIE=false \

  -v n8n_data:/home/node/.n8n \

  docker.n8n.io/n8nio/n8n

คำอธิบายโดยสรุป

คำสั่งนี้จะ:

  • เปิดพอร์ต 5678 สำหรับเข้าใช้งาน n8n
  • ตั้งค่า timezone ให้ตรงกับประเทศไทย
  • เปิดใช้งาน task runners สำหรับ workflow
  • บังคับ permission ของไฟล์ตั้งค่าให้ปลอดภัย
  • เก็บข้อมูล n8n แบบถาวรผ่าน Docker volume

การเข้าใช้งาน

เมื่อ container ทำงานแล้ว สามารถเข้าใช้งาน n8n ได้ที่:

http://localhost:5678

Connect with Ollama

เมื่อติดตั้ง Ollama ให้รันอยู่บนเครื่อง Local แล้ว สามารถเชื่อมต่อจาก n8n (Docker) ได้โดยกำหนดค่า Base URL ใน n8n credential ตามระบบปฏิบัติการดังนี้

macOS

สำหรับ macOS สามารถใช้งาน hostname พิเศษของ Docker ได้โดยตรง

http://host.docker.internal:11434

Windows

สำหรับ Windows (Docker Desktop) ใช้ค่าเดียวกับ macOS

http://host.docker.internal:11434

Docker จะ map hostname นี้ให้ container เชื่อมต่อกลับมายังเครื่อง host ได้อัตโนมัติ

Linux

บน Linux จะไม่มี host.docker.internal โดยค่าเริ่มต้น จำเป็นต้องใช้ Docker bridge / gateway IP แทน

รันคำสั่งเพื่อดู IP ของ docker bridge:

ip route | grep docker0

ตัวอย่างผลลัพธ์:

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1

ในกรณีนี้ container สามารถเข้าถึง host ได้ที่:

http://172.17.0.1:11434

8n with Tunnel

คำเตือน (Danger)
การใช้งาน n8n แบบ tunnel เหมาะสำหรับ local development และการทดสอบเท่านั้น ไม่ปลอดภัยสำหรับ production

ใช้ Tunnel เมื่อใด

ในบางกรณี เช่น การใช้ Webhook Trigger จากบริการภายนอก (เช่น GitHub, Stripe, LINE, Slack) จำเป็นต้องให้งานภายนอกสามารถเรียกมาที่ n8n ได้จากอินเทอร์เน็ต

n8n จึงมี Tunnel Service ซึ่งจะ:

  • สร้าง URL ชั่วคราวบนเซิร์ฟเวอร์ของ n8n
  • ส่ง request จากอินเทอร์เน็ตกลับมายัง n8n ที่รันอยู่บนเครื่อง Local

การเริ่มต้นใช้งาน n8n ด้วย Tunnel

1. สร้าง Volume สำหรับเก็บข้อมูล

docker volume create n8n_data

2. รัน n8n พร้อมเปิด Tunnel

docker run -d \

  --name n8n \

  --restart unless-stopped \

  -p 5678:5678 \

  -e TZ=Asia/Bangkok \

  -e GENERIC_TIMEZONE=Asia/Bangkok \

  -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \

  -e N8N_RUNNERS_ENABLED=true \

  -e N8N_SECURE_COOKIE=false \

  -v n8n_data:/home/node/.n8n \

  docker.n8n.io/n8nio/n8n \

  start --tunnel

เมื่อรันสำเร็จ n8n จะแสดง Public Tunnel URL ใน log
ซึ่งสามารถนำไปใช้ตั้งค่า Webhook กับบริการภายนอกได้ทันที


Reference

n8n on Local Host https://docs.n8n.io/hosting/installation/docker/

https://docs.n8n.io/hosting/installation/docker

Leave a Reply

Your email address will not be published. Required fields are marked *