เลือกหัวข้ออ่าน
🚀 คู่มือติดตั้ง n8n ด้วย Docker
ขั้นตอนละเอียดสำหรับผู้เริ่มต้น
🎯 เกี่ยวกับ n8n
n8n เป็นแพลตฟอร์มอัตโนมัติแบบ Low-code ที่ช่วยให้คุณเชื่อมต่อระบบต่างๆ เข้าด้วยกันโดยไม่ต้องเขียนโค้ดมากนัก คุณสามารถสร้าง Workflow ที่เชื่อมต่อแอพพลิเคชั่นต่างๆ เช่น Google Sheets, Gmail, Slack, หรือแม้แต่ APIs ภายนอกได้อย่างง่ายดาย
📋 ข้อกำหนดเบื้องต้น
สิ่งที่ต้องมีก่อนเริ่มติดตั้ง
- Docker Desktop ติดตั้งและทำงานได้ปกติ
- สิทธิ์ในการรัน Docker (root หรือ docker group)
- พอร์ท 5678 ว่างสำหรับการเข้าถึง n8n
- ความรู้พื้นฐาน Terminal/Command Line
- เน็ตอินเตอร์เน็ต สำหรับดาวน์โหลด Docker images
สำหรับ Windows และ macOS
ดาวน์โหลด Docker Desktop จาก: https://www.docker.com/products/docker-desktop/
สำหรับ Linux
ติดตาม: คำแนะนำการติดตั้ง Docker Engine
ตรวจสอบการติดตั้ง
docker --version && docker compose version
ผลลัพธ์ที่ควรได้: แสดงเวอร์ชันของ Docker และ Docker Compose
mkdir C:\n8n
cd C:\n8n
mkdir ~/n8n
cd ~/n8n
เราจะแนะนำ 2 วิธีในการสร้างไฟล์ docker-compose.yml
เลือกใช้ตามความเหมาะสม:
🎯 แนะนำ: วิธีแบบง่าย (SQLite)
เหมาะกับ: การใช้งานส่วนตัว, ทดสอบ, หรือองค์กรขนาดเล็ก
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_COMMUNITY_PACKAGES_ENABLED=true
- N8N_DEFAULT_BINARY_DATA_MODE=filesystem
- GENERIC_TIMEZONE=Asia/Bangkok
- TZ=Asia/Bangkok
volumes:
# สำหรับ Windows:
- C:\Users\PC\n8n_data:/home/node/.n8n
# สำหรับ Mac/Linux (ใช้อันใดอันหนึ่ง):
# - ~/n8n_data:/home/node/.n8n
# - ./n8n_data:/home/node/.n8n
user: node
💡 ข้อดีของวิธีแบบง่าย
- ✅ ติดตั้งง่าย: ไม่ต้องจัดการ database แยก
- ✅ ใช้ SQLite: ไฟล์ database เดียว ง่ายต่อการ backup
- ✅ ข้อมูลเข้าถึงง่าย: ไฟล์อยู่ในโฟลเดอร์ที่เห็นได้
- ✅ เหมาะกับผู้เริ่มต้น: ไม่ซับซ้อน
🔧 วิธีแบบ Production (PostgreSQL) - สำหรับใช้งานจริงขนาดใหญ่
version: '3.8'
services:
n8n:
image: docker.n8n.io/n8nio/n8n
environment:
- N8N_HOST=http://localhost:5678
- N8N_EDITOR_BASE_URL=http://localhost:5678
- WEBHOOK_URL=http://localhost:5678
- GENERIC_TIMEZONE=Asia/Bangkok
- TZ=Asia/Bangkok
- N8N_COMMUNITY_PACKAGES_ENABLED=true
- N8N_DEFAULT_BINARY_DATA_MODE=filesystem
- DB_TYPE=postgresdb
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_HOST=postgresql
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_USER=n8n_user
- DB_POSTGRESDB_SCHEMA=public
- DB_POSTGRESDB_PASSWORD=your_secure_password_here
volumes:
- 'n8n-data:/home/node/.n8n'
depends_on:
postgresql:
condition: service_healthy
healthcheck:
test:
- CMD-SHELL
- 'wget -qO- http://127.0.0.1:5678/'
interval: 5s
timeout: 20s
retries: 10
ports:
- "5678:5678"
restart: unless-stopped
postgresql:
image: 'postgres:16-alpine'
volumes:
- 'postgresql-data:/var/lib/postgresql/data'
environment:
- POSTGRES_USER=n8n_user
- POSTGRES_PASSWORD=your_secure_password_here
- POSTGRES_DB=n8n
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U n8n_user -d n8n'
interval: 5s
timeout: 20s
retries: 10
restart: unless-stopped
volumes:
n8n-data:
postgresql-data:
⚠️ สำคัญสำหรับแบบ Production!
เปลี่ยนรหัสผ่าน: แทนที่ your_secure_password_here
ด้วยรหัสผ่านที่ปลอดภัย (ทั้ง 2 ที่) ใช้รหัสผ่านเดียวกัน
เปิด Terminal/Command Prompt ในโฟลเดอร์ที่มีไฟล์ docker-compose.yml
แล้วรันคำสั่ง:
docker-compose up -d
คำสั่งนี้จะ:
- ดาวน์โหลด Docker images ที่จำเป็น (n8n และ PostgreSQL)
- สร้างและเริ่ม containers ในโหมด detached (ทำงานเบื้องหลัง)
- สร้าง volumes สำหรับเก็บข้อมูล
ตรวจสอบว่า containers ทั้งหมดกำลังทำงานด้วยคำสั่ง:
docker-compose ps
ผลลัพธ์ที่ควรได้: คุณควรเห็น containers ของ n8n และ PostgreSQL ในสถานะ "Up" หรือ "running"
ดูล็อกเพื่อตรวจสอบการทำงาน
docker-compose logs -f n8n
กด Ctrl+C เพื่อออกจากการดูล็อก
เปิดเบราว์เซอร์ของคุณและเข้าไปที่:
🎉 ติดตั้งสำเร็จ!
ถ้าเห็นหน้า n8n แสดงว่าการติดตั้งสำเร็จแล้ว คุณสามารถเริ่มสร้าง Workflow ได้ทันที!
🔧 การจัดการ n8n
docker-compose stop
docker-compose start
docker-compose down
docker-compose logs -f n8n
🔄 การอัพเดต n8n
- หยุดและลบ containers ก่อน:
docker-compose down
- ดาวน์โหลด images ใหม่:
docker-compose pull
- เริ่มต้น containers ใหม่:
docker-compose up -d
ข้อมูลจะไม่หาย! เพราะเราใช้ Docker volumes เก็บข้อมูลแยกจาก containers
💾 การสำรองข้อมูล
ข้อมูลของ n8n ถูกเก็บไว้ใน Docker volumes (n8n-data
และ postgresql-data
) ซึ่งจะยังคงอยู่แม้ว่าคุณจะลบ containers
สำรองฐานข้อมูล PostgreSQL:
docker-compose exec postgresql pg_dump -U n8n_user n8n > n8n_backup_$(date +%Y%m%d).sql
🛠️ การแก้ไขปัญหาเบื้องต้น
❌ n8n ไม่สามารถเชื่อมต่อกับฐานข้อมูล
วิธีแก้:
- ตรวจสอบล็อกของ n8n:
docker-compose logs n8n
- ตรวจสอบว่า PostgreSQL ทำงาน:
docker-compose ps postgresql
- ตรวจสอบรหัสผ่านใน docker-compose.yml ว่าตรงกัน
🚫 ไม่สามารถเข้าถึง n8n ได้
วิธีแก้:
- ตรวจสอบว่าพอร์ท 5678 ไม่ถูกบล็อกโดยไฟร์วอลล์
- ตรวจสอบว่า containers ทำงาน:
docker-compose ps
- ดูล็อกของ n8n:
docker-compose logs n8n
- รอสักครู่ให้ n8n เริ่มต้นเสร็จสมบูรณ์
🚀 เริ่มต้นใช้งาน n8n
🎯 ขั้นตอนแรกหลังติดตั้ง
- เข้าไปที่ http://localhost:5678
- คลิกที่ปุ่ม "Create new workflow"
- เริ่มเพิ่ม Nodes เพื่อสร้างระบบอัตโนมัติของคุณ
- ลองเชื่อมต่อ Google Sheets, Gmail, หรือ API ต่างๆ
📚 ขั้นตอนต่อไป
หลังจากติดตั้งเสร็จแล้ว แนะนำให้:
- ศึกษาการใช้งาน Nodes พื้นฐาน
- สร้าง Workflow แรกของคุณ
- ตั้งค่า Webhooks สำหรับการเชื่อมต่อกับระบบภายนอก
- ศึกษา n8n Community nodes สำหรับฟังก์ชันเพิ่มเติม