คู่มือการติดตั้ง 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 กับ Gmail ผ่าน OAuth2: คู่มือฉบับสมบูรณ์สำหรับ AI Automation

เรียนรู้วิธีเชื่อมต่อ n8n กับ Gmail ผ่าน OAuth2 ทีละขั้นตอน เพื่อสร้าง AI automation workflows และ automate business processes อย่างปลอดภัย คู่มือจาก Data-Espresso สำหรับ SME

n8n: เครื่องมือ Automation สุดล้ำ เพิ่มประสิทธิภาพองค์กรแบบอัตโนมัติ

เจาะลึก n8n เครื่องมือ Automation ที่ช่วยประหยัดเวลาและเพิ่มประสิทธิภาพการทำงาน พร้อมคุณสมบัติเด่นที่องค์กรต้องลอง

n8n – แนะนำหน้าจอการนำงาน Editor UI สำหรับมือใหม่ 🚀

สวัสดีครับทุกคน! วันนี้ผมจะพาทุกท่านไปทำความรู้จักกับหน้าจอ Editor UI ของ n8n กันแบบละเอียดยิบ เพื่อให้คุณสามารถสร้าง workflow...

สร้าง AI Chat Agent ด้วย n8n: เริ่มต้นง่ายๆ ใน 9 ขั้นตอน

มาเรียนรู้วิธีสร้าง AI Chat Agent ด้วย n8n กันเถอะ! เราจะพาคุณไปสร้าง chatbot อัจฉริยะแบบง่ายๆ ใน 9 ขั้นตอน พร้อมเทคนิคการปรับแต่งที่ใช้ได้จริง

n8n: แพลตฟอร์มอัตโนมัติงานสุดล้ำ ที่จะเปลี่ยนชีวิตคุณให้ง่ายขึ้น!

รู้จักกับ n8n เครื่องมือ Workflow Automation แบบ Open Source ที่ช่วยให้คุณเชื่อมต่อและอัตโนมัติงานระหว่างแอพต่างๆ ได้แบบไม่ต้องเขียนโค้ด 🚀

Related Article

SME ควรเริ่มลงทุนและใช้ AI อย่างไรให้ประสบความสำเร็จ

คู่มือฉบับสมบูรณ์สำหรับ SME ที่ต้องการเริ่มต้นลงทุนและนำ AI มาใช้ในธุรกิจอย่างมีกลยุทธ์ ตั้งแต่การวางแผน การเลือกเครื่องมือ จนถึงการวัดผล เพื่อเพิ่มศักยภาพและสร้างความได้เปรียบในการแข่งขัน

เชื่อมต่อ n8n กับ Gmail ผ่าน OAuth2: คู่มือฉบับสมบูรณ์สำหรับ AI Automation

เรียนรู้วิธีเชื่อมต่อ n8n กับ Gmail ผ่าน OAuth2 ทีละขั้นตอน เพื่อสร้าง AI automation workflows และ automate business processes อย่างปลอดภัย คู่มือจาก Data-Espresso สำหรับ SME

ChatGPT เปิดตัว Codex Agents: AI เขียนโค้ดอัจฉริยะด้วยโมเดล codex-1 ที่เก่งกว่าเดิม!

เจาะลึก ChatGPT Codex Agents ผู้ช่วย AI เขียนโค้ดตัวใหม่จาก OpenAI ขับเคลื่อนด้วยโมเดล codex-1 ที่เก่งกว่าเดิม! เรียนรู้ฟีเจอร์เด่น ประสิทธิภาพ และผลกระทบต่อวงการพัฒนาซอฟต์แวร์ พร้อมคำแนะนำสำหรับธุรกิจและนักพัฒนาจาก Data-Espresso
สอบถามข้อมูล