Setting Up n8n

Install and configure n8n for your business automation

คู่มือการติดตั้งและตั้งค่า n8n สำหรับเริ่มต้นใช้งาน

Installation Options

Option 1: Cloud-based (Easiest)

เหมาะสำหรับ: ผู้เริ่มต้น, ไม่ต้องการดูแล server

n8n Cloud

  • สมัครที่ n8n.cloud
  • เริ่มต้นฟรี 5,000 workflow executions/month
  • พร้อมใช้งานทันที

ข้อดี:

  • ✅ ไม่ต้องติดตั้ง
  • ✅ อัปเดตอัตโนมัติ
  • ✅ มี backup

ข้อเสีย:

  • ❌ มีค่าใช้จ่าย
  • ❌ ข้อมูลอยู่บน cloud ของ n8n

เหมาะสำหรับ: ธุรกิจที่ต้องการควบคุมข้อมูล

Docker (แนะนำ)

# ติดตั้ง Docker ก่อน
# รัน n8n ด้วย Docker
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

NPM

# ติดตั้ง n8n ทั่วโลก
npm install n8n -g

# เริ่มต้น n8n
n8n start

First Time Setup

1. Access n8n

เปิด browser ไปที่ http://localhost:5678

2. Create Admin Account

  • กรอก email
  • ตั้งรหัสผ่าน
  • ยืนยัน email

3. Basic Settings

ไปที่ Settings → General:

Instance Name: ShantiLink Automation
Default Timezone: Asia/Bangkok
Default Language: English (ไทยยังไม่รองรับ)

Essential Credentials

LINE Official Account

  1. ไปที่ Settings → Credentials
  2. Add Credential → LINE Official Account
  3. กรอกข้อมูล:
    • Channel Access Token: xxxxxxxxxxxxxx
    • Channel Secret: xxxxxxxxxxxxxx

Google Sheets

  1. Add Credential → Google Sheets
  2. Click "Connect Google Account"
  3. Login และอนุญาตการเข้าถึง

Gmail (Optional)

  1. Add Credential → Gmail
  2. Connect Google Account
  3. อนุญาตการส่ง email

Security Settings

Environment Variables (สำคัญ!)

สร้างไฟล์ .env:

# คีย์เข้ารหัสข้อมูล
N8N_ENCRYPTION_KEY=your-super-secret-key-here

# Webhook URL
WEBHOOK_URL=https://your-domain.com/

# ปิดการส่งข้อมูลไป n8n
N8N_DIAGNOSTICS_ENABLED=false
N8N_METRICS_ENABLED=false

# ตั้งค่า timezone
GENERIC_TIMEZONE=Asia/Bangkok

Firewall Settings

ถ้าใช้ server:

# เปิด port 5678
sudo ufw allow 5678

# หรือใช้ reverse proxy (nginx)
sudo ufw allow 80
sudo ufw allow 443

Reverse Proxy (Nginx)

ตั้งค่า nginx สำหรับ production:

server {
    listen 80;
    server_name your-domain.com;
    
    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Database Setup (Optional)

SQLite (Default)

  • เหมาะสำหรับเริ่มต้น
  • ไม่ต้องตั้งค่า
  • จำกัด 1 user ต่อเวลา

PostgreSQL (Production)

# ใน .env
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=your-password

Backup Strategy

Auto Backup Script

#!/bin/bash
# backup-n8n.sh
DATE=$(date +%Y%m%d_%H%M%S)
tar -czf n8n-backup-$DATE.tar.gz ~/.n8n

Cron Job

# สำรองข้อมูลทุกวันตอนเที่ยงคืน
0 2 * * * /path/to/backup-n8n.sh

Testing Your Setup

1. Create Test Workflow

  1. คลิก "New Workflow"
  2. เพิ่ม "Manual Trigger" node
  3. เพิ่ม "Set" node
  4. ตั้งค่าใน Set node:
    • Field: message
    • Value: Hello from n8n!
  5. คลิก "Execute Workflow"

2. Test Webhook

  1. เพิ่ม "Webhook" node
  2. คัดลอก webhook URL
  3. ทดสอบด้วย curl:
curl -X POST http://localhost:5678/webhook/your-webhook-id \
  -H "Content-Type: application/json" \
  -d '{"test": "data"}'

Common Issues

Port Already in Use

# หา process ที่ใช้ port 5678
lsof -i :5678

# ใช้ port อื่น
n8n start --port 5679

Credential Issues

  • ตรวจสอบ token ให้ถูกต้อง
  • LINE OA ต้อง active แล้ว
  • Google API ต้อง enable แล้ว

Memory Issues

# เพิ่ม memory สำหรับ Docker
docker run --memory=2g n8nio/n8n

Next Steps

เมื่อติดตั้งเสร็จแล้ว:


ติดปัญหา? ติดต่อเราได้ที่ ShantiLink.com 💬