N8N là công cụ tích hợp và tự động hóa phổ biến, giúp bạn xây dựng các workflow dễ dàng. Với Docker, việc triển khai trở nên nhanh chóng và linh hoạt hơn. Bài viết này sẽ hướng dẫn bạn cài đặt N8N trên Ubuntu 24.04, sử dụng PostgresDB để quản lý cơ sở dữ liệu và cài đặt Nginx làm reverse proxy. Đặc biệt, chúng ta cũng sẽ cấu hình N8N_ENCRYPTION_KEY để bảo mật dữ liệu. Hãy đảm bảo sao lưu dữ liệu trước khi bắt đầu!

Điều kiện tiên quyết để cài đặt N8N Docker trên Ubuntu 24.04

Trước khi bắt đầu, hãy chắc chắn rằng bạn có:

  • Phiên bản Ubuntu 24.04 với quyền sudo hoặc root.
  • Docker và Docker Compose được cài đặt. Nếu chưa, bạn có thể cài qua các lệnh sau:
# Cập nhật package và cài Docker
sudo apt update && sudo apt install -y docker.io docker-compose
  • DNS hoặc tên miền trỏ đến máy chủ nếu sử dụng Nginx.
  • Một N8N_ENCRYPTION_KEY an toàn và đủ dài để mã hóa dữ liệu.

Nếu bạn cần giải pháp “Cloud Server” đáng tin cậy trong việc triển khai, tham khảo thêm tại Cloud Server.

undefined

Các bước triển khai N8N với Docker và PostgresDB

Bước 1: Tạo Docker Compose file

Bước này tạo file docker-compose.yml để quản lý container.

version: '3.8'
services:
  postgres:
    image: postgres:13
    container_name: n8n-postgres
    environment:
      POSTGRES_USER: n8n_user
      POSTGRES_PASSWORD: your_password
      POSTGRES_DB: n8n_db
    volumes:
      - postgres_data:/var/lib/postgresql/data
  n8n:
    image: n8nio/n8n
    container_name: n8n
    environment:
      DB_TYPE: postgres
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: n8n_db
      DB_POSTGRESDB_USER: n8n_user
      DB_POSTGRESDB_PASSWORD: your_password
      N8N_ENCRYPTION_KEY: your_encryption_key
    ports:
      - 5678:5678
    depends_on:
      - postgres
volumes:
  postgres_data:

Hãy thay thế your_passwordyour_encryption_key bằng các giá trị thực tế. Sau đó, lưu file.

Bước 2: Khởi chạy Docker Compose

Chạy lệnh sau để khởi động các container:

sudo docker-compose up -d

Khi hoàn tất, kiểm tra trạng thái để đảm bảo rằng cả hai container đều chạy ổn định.

undefined

Cài đặt Nginx làm reverse proxy

Bước 3: Cài đặt và cấu hình Nginx

Hãy cài đặt Nginx nếu chưa có:

sudo apt install -y nginx

Tiếp theo, tạo file cấu hình cho domain:

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;
    }
}

Thay your_domain.com bằng tên miền thực tế.

Bước 4: Kích hoạt cấu hình Nginx

sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx

Bây giờ, bạn có thể truy cập N8N thông qua domain của mình.

Lỗi thường gặp khi cài đặt N8N

Lỗi: “Connection refused” khi kết nối PostgresDB

dial tcp: lookup postgres on 127.0.0.11:53: no such host

Nguyên nhân: Container Postgres chưa được khởi động.

Cách xử lý: Chạy lại lệnh docker-compose up -d và kiểm tra container.

Lỗi: “502 Bad Gateway” khi truy cập N8N qua Nginx

Nguyên nhân: Nginx không kết nối được tới container N8N.

Cách xử lý: Kiểm tra file cấu hình Nginx và đảm bảo cổng 5678 hoạt động.

Xác nhận kết quả

Sau khi cài đặt thành công, chạy lệnh dưới đây để kiểm tra container:

sudo docker ps

Cả hai container n8npostgres phải ở trạng thái Up. Tiếp theo, truy cập ứng dụng qua tên miền để kiểm tra giao diện N8N.

Điểm nổi bật đáng nhớ

💡 Insight 1

Docker giúp tiết kiệm thời gian cấu hình, đặc biệt hữu ích cho môi trường DevOps.

💡 Insight 2

Cấu hình N8N_ENCRYPTION_KEY rất quan trọng để đảm bảo bảo mật dữ liệu nhạy cảm.

💡 Insight 3

Sử dụng Nginx làm reverse proxy hỗ trợ tăng hiệu suất và bảo vệ ứng dụng.

Kết luận

Với hướng dẫn trên, bạn đã hoàn thành việc triển khai N8N với PostgresDB, Nginx và Docker trên Ubuntu 24.04. Nếu cần hỗ trợ thêm hoặc muốn triển khai trên nền tảng Cloud chuyên nghiệp, hãy tham khảo tại IDCViet để khám phá thêm các dịch vụ Private Cloud.

Liên hệ ngay với đội ngũ của IDCViet qua:
idcviet.vn | 0913320866 | [email protected] để được tư vấn kỹ hơn!