📚 HƯỚNG DẪN SETUP

Hướng dẫn Setup n8n Chi tiết

Từ development đến production deployment hoàn chỉnh

Development
Local Setup
Production
Deployment
Mobile
Integration
Security
Best Practices

Development Environment Setup

Thiết lập môi trường phát triển local

1
Cài đặt Node.js và npm

# Cài đặt Node.js (phiên bản LTS)
# Tải từ: https://nodejs.org/

# Kiểm tra version
node --version
npm --version

# Nên có Node.js >= 16.x và npm >= 8.x
💡 Lưu ý:
Khuyến nghị sử dụng Node.js LTS version để đảm bảo stability

2
Cài đặt n8n qua npm

# Cài đặt n8n globally
npm install n8n -g

# Hoặc sử dụng npx (không cần cài global)
npx n8n

# Chạy n8n
n8n start

# n8n sẽ chạy tại http://localhost:5678
💡 Lưu ý:
Lần đầu chạy sẽ tạo thư mục ~/.n8n để lưu workflows và settings

3
Cài đặt n8n với Docker (Khuyến nghị)

# Pull n8n Docker image
docker pull n8nio/n8n

# Chạy n8n container
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

# Hoặc chạy trong background
docker run -d \
  --name n8n \
  --restart unless-stopped \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n
💡 Lưu ý:
Docker giúp isolation tốt hơn và dễ quản lý dependencies

4
Setup PostgreSQL Database

# Sử dụng Docker để chạy PostgreSQL
docker run -d \
  --name n8n-postgres \
  -e POSTGRES_DB=n8n \
  -e POSTGRES_USER=n8n \
  -e POSTGRES_PASSWORD=secure_password \
  -p 5432:5432 \
  postgres:15

# Cấu hình n8n sử dụng PostgreSQL
export DB_TYPE=postgresdb
export DB_POSTGRESDB_HOST=localhost
export DB_POSTGRESDB_PORT=5432
export DB_POSTGRESDB_DATABASE=n8n
export DB_POSTGRESDB_USER=n8n
export DB_POSTGRESDB_PASSWORD=secure_password

# Restart n8n với database config
n8n start
💡 Lưu ý:
PostgreSQL khuyến nghị cho production. SQLite chỉ dùng cho development.

🔧 Troubleshooting Common Issues

n8n không start được

Kiểm tra:

  • Port 5678 đã được sử dụng bởi process khác chưa
  • Database connection string có đúng không
  • Environment variables có được set đúng không
  • Disk space có đủ không (cần ít nhất 1GB free)

Command để debug:

n8n start --tunnel --log-level debug

Webhooks không hoạt động

Kiểm tra:

  • WEBHOOK_URL có được set đúng domain không
  • SSL certificate có valid không
  • Firewall có block ports không
  • n8n có được expose ra public internet không

Test webhook:

curl -X POST https://your-domain.com/webhook/test -d '{"test": true}'

Performance chậm

Tối ưu hóa:

  • Sử dụng PostgreSQL thay vì SQLite
  • Add database indexes cho các queries thường dùng
  • Implement caching với Redis
  • Optimize workflow với batch processing
  • Scale horizontal với multiple n8n instances