ในยุคที่ 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 Engine และ Docker Compose แยกเป็นแพ็กเกจได้
แนะนำให้ตรวจสอบว่า 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/