คู่มือการติดตั้ง n8n ด้วย Docker Compose

n8nคู่มือการติดตั้ง n8n ด้วย Docker Compose

เกี่ยวกับ n8n

n8n เป็นแพลตฟอร์มอัตโนมัติแบบ Low-code ที่ช่วยให้คุณเชื่อมต่อระบบต่างๆ เข้าด้วยกันโดยไม่ต้องเขียนโค้ดมากนัก คุณสามารถสร้าง Workflow ที่เชื่อมต่อแอพพลิเคชั่นต่างๆ เช่น Google Sheets, Gmail, Slack, หรือแม้แต่ APIs ภายนอกได้อย่างง่ายดาย

ข้อกำหนดเบื้องต้น

  • Docker Engine และ Docker Compose ติดตั้งบนเครื่องของคุณ
  • สิทธิ์ในการรัน Docker commands (root หรือ docker group)
  • พอร์ท 5678 ว่างสำหรับการเข้าถึง n8n
  • ความรู้พื้นฐานเกี่ยวกับการใช้ Terminal/Command Line

ขั้นตอนการติดตั้ง

1. สร้างไฟล์ docker-compose.yml

สร้างโฟลเดอร์สำหรับการติดตั้ง n8n และสร้างไฟล์ docker-compose.yml ด้วยเนื้อหาต่อไปนี้:

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
      - 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"
  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

volumes:
  n8n-data:
  postgresql-data:

2. ปรับแต่งการตั้งค่า

แก้ไขการตั้งค่าในไฟล์ docker-compose.yml ตามความต้องการของคุณ:

  • URL สำหรับการเข้าถึง n8n ต้องกำหนดให้ตรงกันทั้ง 3 ตัวแปร: N8N_HOSTN8N_EDITOR_BASE_URL, และ WEBHOOK_URL
    • สำหรับการใช้งานในเครื่องโลคอล ตั้งค่าเป็น http://localhost:5678
    • สำหรับเซิร์ฟเวอร์ ตั้งค่าเป็นโดเมนของคุณ เช่น https://n8n.yourdomain.com

ข้อควรรู้: หากต้องการกำหนดค่าเพียงครั้งเดียว คุณสามารถสร้างไฟล์ .env และอ้างอิงค่าตัวแปรได้ แต่การกำหนดค่าโดยตรงในไฟล์ docker-compose.yml ทำให้ง่ายต่อการเริ่มต้นใช้งาน

  • DB_POSTGRESDB_USER: ชื่อผู้ใช้สำหรับฐานข้อมูล PostgreSQL (เช่น n8n_user)
  • DB_POSTGRESDB_PASSWORD และ POSTGRES_PASSWORD: รหัสผ่านที่ปลอดภัยสำหรับฐานข้อมูล (ต้องเป็นรหัสผ่านเดียวกัน)
  • สามารถใช้เว็บ https://www.lastpass.com/features/password-generator ในการสร้าง Password ได้ครับ

3. เริ่มต้นใช้งาน n8n

เปิด Terminal หรือ Command Prompt, นำทางไปยังโฟลเดอร์ที่มีไฟล์ docker-compose.yml และรันคำสั่ง:

docker-compose up -d

คำสั่งนี้จะดาวน์โหลด Docker images ที่จำเป็น และเริ่มต้นบริการในโหมด detached (ทำงานเบื้องหลัง)

4. ตรวจสอบสถานะการทำงาน

ตรวจสอบว่า containers ทั้งหมดกำลังทำงานด้วยคำสั่ง:

docker-compose ps

คุณควรเห็น containers ของ n8n และ PostgreSQL ในสถานะ “Up”

5. เข้าถึง n8n

เปิดเบราว์เซอร์ของคุณและเข้าไปที่:

http://localhost:5678

หรือหากคุณตั้งค่าโดเมนของคุณ ให้ใช้ URL นั้นแทน

การจัดการ n8n

การหยุดการทำงาน

docker-compose stop

การเริ่มการทำงานอีกครั้ง

docker-compose start

การหยุดและลบ containers (ข้อมูลยังคงอยู่)

docker-compose down

การอัปเดต n8n เป็นเวอร์ชันล่าสุด

  1. หยุดและลบ containers ก่อน
docker-compose down
  1. Download image ใหม่ที่จำเป็น
docker-compose pull
  1. ติดตั้ง Container ที่จำเป็น
docker-compose up -d

การดูล็อก

docker-compose logs -f n8n

การสำรองข้อมูล

ข้อมูลของ n8n ถูกเก็บไว้ใน Docker volumes ที่ระบุไว้ในไฟล์ docker-compose (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

ปัญหาการเข้าถึง n8n

  • ตรวจสอบว่าพอร์ท 5678 ไม่ถูกบล็อกโดยไฟร์วอลล์
  • ตรวจสอบว่า Docker containers ทำงานอยู่ (docker-compose ps)
  • ตรวจสอบล็อกของ n8n เพื่อดูข้อผิดพลาด (docker-compose logs n8n)

การใช้งานขั้นสูง

การตั้งค่า HTTPS

สำหรับการใช้งานในโปรดักชัน คุณควรตั้งค่า HTTPS ซึ่งสามารถทำได้โดยใช้ reverse proxy เช่น Nginx หรือ Traefik

การเปิดการเชื่อมต่อจากภายนอก

สามารถใช้ ngrok เพื่อเปิดให้ Service จากภายนอกสามารถเข้าถึง n8n ที่เครื่องของเราได้ https://ngrok.com/

การจำกัดทรัพยากร

คุณสามารถจำกัดการใช้ทรัพยากรของ containers โดยเพิ่มการตั้งค่าเช่น:

services:
  n8n:
    # การตั้งค่าอื่นๆ...
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 1G
  postgresql:
    # การตั้งค่าอื่นๆ...
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M

เริ่มต้นใช้งาน n8n

หลังจากติดตั้งเสร็จแล้ว คุณสามารถเริ่มสร้าง Workflows ได้ใน n8n UI. คลิกที่ปุ่ม “Create new workflow” และเริ่มเพิ่ม Nodes เพื่อสร้างระบบอัตโนมัติของคุณ

Short Link: https://data-espresso.com/10yr

Related articles

คอร์สออนไลน์ n8n ภาษาไทย: เรียนจากผู้เชี่ยวชาญ

เรียน n8n ด้วยภาษาไทย! สอนสร้าง workflow automation และ AI Agent จากผู้เชี่ยวชาญ เหมาะกับ SME และคนไม่เขียนโค้ด

สอน n8n: สร้าง AI Agent แบบฟรีด้วย n8n Workflow ใช้งานได้จริง

คู่มือสร้าง AI Agent ด้วย n8n แบบง่าย ๆ พร้อมตัวอย่างการเชื่อมต่อ AI APIs ต่าง ๆ เพื่อสร้างระบบอัตโนมัติแบบฟรี

AI Agent คืออะไร? สร้างและใช้งาน AI Agent ด้วย n8n และ Make

เรียนรู้การสร้าง AI Agent ด้วย n8n และ Make.com เพื่อสร้างระบบอัตโนมัติอัจฉริยะที่ตอบสนองและปรับตัวได้แบบเรียลไทม์

ปฏิวัติการจัดการเอกสารด้วย n8n: สร้าง Workflow อัตโนมัติ ลดงานซ้ำซ้อน

เรียนรู้วิธีการใช้ n8n สำหรับการจัดการเอกสาร เพื่อสร้าง Workflow อัตโนมัติ ตั้งแต่การสร้าง PDF, จัดเก็บในคลาวด์, และสร้างระบบอนุมัติ เพื่อลดงานซ้ำซ้อน เพิ่มประสิทธิภาพให้ธุรกิจ

Make.com vs N8N: เปรียบเทียบ Automation Platform ที่ดีที่สุด 2025

เปรียบเทียบ Make.com กับ N8N อย่างละเอียด ราคา ฟีเจอร์ ข้อดี-ข้อเสีย เลือกแพลตฟอร์มไหนดีสำหรับธุรกิจคุณ

Related Article

คอร์สออนไลน์ n8n ภาษาไทย: เรียนจากผู้เชี่ยวชาญ

เรียน n8n ด้วยภาษาไทย! สอนสร้าง workflow automation และ AI Agent จากผู้เชี่ยวชาญ เหมาะกับ SME และคนไม่เขียนโค้ด

เจาะลึก Google Agent Development Kit (ADK) ตัวช่วยสร้าง Agent อัจฉริยะจาก Google

ทำความรู้จัก Google Agent Development Kit (ADK) เฟรมเวิร์ก Open-Source สำหรับสร้าง AI Agent ที่ยืดหยุ่น ทรงพลัง และทำงานร่วมกับเครื่องมืออย่าง CrewAI ได้

GPT-5 โง่ลงจริงหรือ? Sam Altman ออกมาขอโทษ พร้อมแจงเหตุผลเบื้องหลัง

เกิดอะไรขึ้นเมื่อผู้ใช้บ่นว่า GPT-5 “โง่ลง” กว่าที่เคย? Sam Altman CEO ของ OpenAI ออกมาขอโทษและชี้แจงสาเหตุทางเทคนิค พร้อมเผยแนวทางแก้ไข สรุปทุกประเด็นที่คุณต้องรู้
สอบถามข้อมูล