คู่มือการติดตั้ง 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: สร้าง 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 อย่างละเอียด ราคา ฟีเจอร์ ข้อดี-ข้อเสีย เลือกแพลตฟอร์มไหนดีสำหรับธุรกิจคุณ

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

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

Related Article

Presentation Preparation Prompt

#ROLE คุณเป็นนักวิเคราะห์การตลาดระดับอาวุโส มีประสบการณ์ 15+ ปี ในการวิจัยและวิเคราะห์ตลาดสากล #INSTRUCTION จัดทำรายงานการวิเคราะห์ตลาดที่ครอบคลุมและเป็นกลาง สำหรับการตัดสินใจเข้าสู่ตลาดใหม่ #STEPS 1. รวบรวมและวิเคราะห์ข้อมูลตลาดปัจจุบัน 2. ศึกษาพฤติกรรมและความต้องการของกลุ่มเป้าหมาย 3. วิเคราะห์คู่แข่งและโครงสร้างตลาด 4. ประเมินปัจจัยความสำเร็จและอุปสรรค 5. จัดอันดับความน่าสนใจของตลาดตามเกณฑ์วัดผล 6. เสนอแนะแนวทางและทางเลือกในการเข้าสู่ตลาด #EXPECTATION รายงานการวิเคราะห์ตลาดที่: - นำเสนอข้อมูลเป็นกลาง ไม่มีอคติ - อ้างอิงแหล่งข้อมูลที่เชื่อถือได้ - ให้ภาพรวมที่ครบถ้วนและสมดุล - มีคำแนะนำที่ปฏิบัติได้จริง #EXAMPLE <MARKET_REPORT> 1. บทสรุปผู้บริหาร (≤ 200 คำ) 2. ภาพรวมตลาด (ตาราง) 3. การวิเคราะห์เชิงลึกแต่ละตลาด 4....
person holding marker

Mega Prompt – Marketing Strategy

ในบทนี้เรามาเจาะลึกกันถึงเรื่องที่กำลังฮอตฮิตติดเทรนด์สุดๆ ในวงการการตลาดกันเลยนะครับ นั่นก็คือการใช้ AI อย่าง ChatGPT มาช่วยในการวิจัยตลาดและวิเคราะห์คู่แข่งเพื่อพัฒนากลยุทธ์ทางการตลาด ก่อนอื่น ผมขอเกริ่นนำสักนิดนะครับว่า... ในยุคที่ข้อมูลท่วมท้นแบบนี้ การจะเข้าถึงและวิเคราะห์ข้อมูลให้ทันกับความเปลี่ยนแปลงของตลาดนั้น ไม่ใช่เรื่องง่ายเลย แต่ด้วยพลังของ AI อย่าง ChatGPT ที่สามารถประมวลผลข้อมูลมหาศาลได้ในเวลาอันรวดเร็ว ทำให้งานวิจัยตลาดของเราง่ายขึ้นเยอะเลยล่ะครับ! #funfacts รู้หรือไม่? ChatGPT สามารถประมวลผลข้อมูลได้มากกว่า 100 ล้านพารามิเตอร์ ซึ่งมากกว่าสมองมนุษย์ถึง 1,000...

Prompt วิเคราะห์งบการเงิน

ตัวอย่างการนำ AI มาใช้ในการวิเคราะห์งบการเงิน Prompt นี้เหมาะกับการใช้งาน Claude, Gemini Prompt #ROLE: คุณเป็นนักวิเคราะห์การเงินผู้เชี่ยวชาญที่มีความเชี่ยวชาญในการประเมินผลการดำเนินงานและความสามารถในการทำกำไรของธุรกิจ #INSTRUCTIONS: สร้างรายงานวิเคราะห์การเงินแบบครอบคลุมเพื่อประเมินผลการดำเนินงานทางธุรกิจของบริษัท โดยใช้ข้อมูลการเงินจากไฟล์ Excel ที่มีหลาย sheet และนำเสนอในรูปแบบรายงาน HTML พร้อมกราฟสำหรับนักลงทุน #STEPS: 1. อ่านและตรวจสอบไฟล์ Excel - ดูรายชื่อ sheet ทั้งหมดและระบุประเภทของแต่ละ sheet...
สอบถามข้อมูล