คู่มือการติดตั้งและตั้งค่า n8n สำหรับเริ่มต้นใช้งาน
Installation Options
Option 1: Cloud-based (Easiest)
เหมาะสำหรับ: ผู้เริ่มต้น, ไม่ต้องการดูแล server
n8n Cloud
- สมัครที่ n8n.cloud
- เริ่มต้นฟรี 5,000 workflow executions/month
- พร้อมใช้งานทันที
ข้อดี:
- ✅ ไม่ต้องติดตั้ง
- ✅ อัปเดตอัตโนมัติ
- ✅ มี backup
ข้อเสีย:
- ❌ มีค่าใช้จ่าย
- ❌ ข้อมูลอยู่บน cloud ของ n8n
Option 2: Self-hosted (Recommended)
เหมาะสำหรับ: ธุรกิจที่ต้องการควบคุมข้อมูล
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
- ไปที่ Settings → Credentials
- Add Credential → LINE Official Account
- กรอกข้อมูล:
- Channel Access Token:
xxxxxxxxxxxxxx - Channel Secret:
xxxxxxxxxxxxxx
- Channel Access Token:
Google Sheets
- Add Credential → Google Sheets
- Click "Connect Google Account"
- Login และอนุญาตการเข้าถึง
Gmail (Optional)
- Add Credential → Gmail
- Connect Google Account
- อนุญาตการส่ง 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
- คลิก "New Workflow"
- เพิ่ม "Manual Trigger" node
- เพิ่ม "Set" node
- ตั้งค่าใน Set node:
- Field:
message - Value:
Hello from n8n!
- Field:
- คลิก "Execute Workflow"
2. Test Webhook
- เพิ่ม "Webhook" node
- คัดลอก webhook URL
- ทดสอบด้วย 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
เมื่อติดตั้งเสร็จแล้ว:
- LINE OA Integration - เชื่อมต่อ LINE
- Google Sheets Integration - บันทึกข้อมูล
ติดปัญหา? ติดต่อเราได้ที่ ShantiLink.com 💬