คู่มือการติดตั้ง 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

ปลดล็อกพลัง AI Agent Node ใน n8n: สร้าง ‘Thinking Node’ สำหรับ Workflow อัจฉริยะของคุณ

ค้นพบวิธีใช้ AI Agent Node ใน n8n หรือที่หลายคนอาจเรียกว่า ‘Thinking Node’ เพื่อสร้างระบบอัตโนมัติที่คิดได้ จดจำ และทำงานซับซ้อน มาดูวิธีตั้งค่า เพิ่มความสามารถ และตัวอย่างการใช้งานจริงเพื่อธุรกิจของคุณกับ Data-Espresso

วิธีลบ Markdown จาก AI Response ใน n8n ☕

สวัสดีครับ! วันนี้ผมจะมาแชร์วิธีการจัดการกับ AI Response ที่มี Markdown ใน n8n ซึ่งเป็นปัญหาที่เจอบ่อยมากเวลาใช้...

ปฏิวัติองค์กร! สร้างทีม AI Agent (CEO, CMO, CFO) บน n8n บริหารธุรกิจด้วย AI 100%

เรียนรู้วิธีสร้างทีม AI Agent อัจฉริยะ (CEO, CMO, CFO) ด้วย n8n เพื่อบริหารองค์กรของคุณด้วย AI เต็มรูปแบบ พร้อมเคล็ดลับและกรณีศึกษาจาก Data-Espresso

การสร้าง Error Handler ใน n8n เพื่อ Monitor ปัญหา Workflow อย่างมือโปร

เรียนรู้วิธีสร้าง Error Handler ใน n8n เพื่อ monitor ปัญหา workflow อย่างมีประสิทธิภาพ พร้อมเทคนิคขั้นสูงและคำแนะนำสำหรับธุรกิจของคุณ ปรึกษา Data-Espresso เพื่อพัฒนาระบบ Automation ของคุณ

สร้าง n8n AI Agent เชื่อมต่อ Supabase VectorDB แบบ Step-by-Step: คู่มือฉบับสมบูรณ์สำหรับระบบ RAG อัจฉริยะ

เรียนรู้วิธีสร้าง n8n AI Agent และเชื่อมต่อกับ Supabase Vector Database ทีละขั้นตอนเพื่อพัฒนาระบบ RAG อัจฉริยะสำหรับธุรกิจของคุณ เพิ่มประสิทธิภาพการดึงข้อมูลและตอบคำถามด้วย AI โดย Data-Espresso

Related Article

Github Repository awesome-llm-apps รวบรวมแอป AI กว่า 100 ตัว พร้อม Source Code...

ค้นพบ awesome-llm-apps บน GitHub ที่รวบรวมแอป AI กว่า 100 ตัวพร้อม Source Code ฟรี ตั้งแต่ Chatbot, AI Agent, RAG System ใช้ LangChain, LlamaIndex สำหรับธุรกิจ SME

เจาะลึก Rich Python Library: โอเพ่นซอร์สสุดเจ๋งที่ครองใจนักพัฒนา 35,000 คน

ทำความรู้จัก Rich Python Library โอเพ่นซอร์สที่มี 35k GitHub stars ด้วยฟีเจอร์สุดล้ำสำหรับ terminal output และเทคนิคสำเร็จที่ธุรกิจไทยนำไปประยุกต์ใช้ได้

OpenAI เปิดตัว o3-Pro: จุดเปลี่ยนสำคัญและผลกระทบต่ออุตสาหกรรม AI

เจาะลึก OpenAI o3-Pro โมเดล AI ล่าสุดที่มาพร้อมความสามารถขั้นสูง ราคาถูกลง 87% และผลกระทบต่อธุรกิจและนักพัฒนา พร้อมแนวทางการนำไปใช้ในองค์กร
สอบถามข้อมูล