Get in touch
or send us a question?
CONTACT

Hướng dẫn cài đặt n8n với Docker

Docker là cách nhanh chóng và hiệu quả nhất để chạy n8n trong môi trường development. Dưới đây là hướng dẫn chi tiết để thiết lập và chạy n8n bằng Docker.

2.1 Tạo file Docker Compose
Đầu tiên, bạn tạo một file có tên docker-compose.yml ở thư mục hiện tại với nội dung như sau:

version: '3'

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - NODE_ENV=production
      - WEBHOOK_URL=http://localhost:5678/
      # Database configuration (optional - mặc định sử dụng SQLite)
      # - DB_TYPE=postgresdb
      # - DB_POSTGRESDB_HOST=postgres
      # - DB_POSTGRESDB_PORT=5432
      # - DB_POSTGRESDB_DATABASE=n8n
      # - DB_POSTGRESDB_USER=postgres
      # - DB_POSTGRESDB_PASSWORD=postgres
    volumes:
      - ~/.n8n:/home/node/.n8n

2.2 Khởi động n8n
Chạy lệnh sau trong thư mục chứa file docker-compose.yml:

docker-compose up -d

Lệnh này sẽ tải image của n8n, khởi động container và để nó chạy ở chế độ background. Sau khi hoàn tất, bạn có thể truy cập n8n qua trình duyệt tại URL: http://localhost:5678

2.3 Cấu hình cho môi trường Production
Nếu bạn triển khai n8n trong môi trường production, hãy lưu ý một số thiết lập quan trọng để đảm bảo bảo mật và hiệu quả:

Thay đổi WEBHOOK_URL thành domain thực tế của bạn
Cấu hình database PostgreSQL thay vì SQLite mặc định
Thêm các biến môi trường bảo mật như N8N_ENCRYPTION_KEY

# Thêm vào docker-compose.yml cho môi trường production
environment:
  - N8N_ENCRYPTION_KEY=your-secure-encryption-key
  - WEBHOOK_URL=https://your-domain.com/
  - N8N_EMAIL_MODE=smtp
  - N8N_SMTP_HOST=smtp.example.com
  - N8N_SMTP_PORT=587
  - N8N_SMTP_USER=your-smtp-user
  - N8N_SMTP_PASS=your-smtp-password