Chuyển đến nội dung chính

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

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

Hướng dẫn chi tiết cài đặt n8n với ngrok bằng Docker Compose

Trong bài viết này, chúng ta sẽ hướng dẫn bạn cách cài đặt và cấu hình n8n (một công cụ tự động hóa quy trình làm việc) cùng với ngrok để tạo đường hầm HTTPS. Chúng ta sẽ sử dụng Docker Compose để quản lý các container một cách dễ dàng. Bài hướng dẫn này dựa trên nội dung từ kho GitHub: txq92/n8n-ngrok-compose.

Giới thiệu

n8n là một nền tảng tự động hóa mã nguồn mở, cho phép bạn tích hợp và tự động hóa các quy trình giữa các ứng dụng và dịch vụ khác nhau. ngrok, mặt khác, là một công cụ tạo đường hầm HTTPS giúp bạn truy cập các dịch vụ cục bộ từ bên ngoài mạng.

Bằng cách kết hợp n8nngrok, bạn có thể xây dựng và triển khai các quy trình tự động hóa mà không cần phải lo lắng về việc cấu hình máy chủ hoặc tên miền phức tạp.

Yêu cầu hệ thống

  • Hệ điều hành: Windows, macOS hoặc Linux.
  • Phần mềm cần thiết:
    • Docker: Cài đặt Docker Desktop.
    • Docker Compose: Thường được cài đặt kèm theo Docker Desktop.
  • Tài khoản ngrok: Đăng ký tài khoản miễn phí tại ngrok.com.

Bước 1: Chuẩn bị môi trường

1.1. Cài đặt Docker và Docker Compose

  • Tải và cài đặt Docker Desktop từ đây.
  • Sau khi cài đặt, kiểm tra phiên bản của Docker và Docker Compose:
    docker --version
    docker-compose --version

1.2. Tạo thư mục dự án

  • Tạo một thư mục mới để lưu trữ các tệp cấu hình:
    mkdir n8n-ngrok
    cd n8n-ngrok

Bước 2: Clone repository từ GitHub

Để đơn giản hóa quá trình cài đặt, bạn có thể clone repository từ GitHub:

git clone https://github.com/txq92/n8n-ngrok-comnpose.git
cd n8n-ngrok-comnpose

Nếu bạn không muốn clone, bạn có thể tải thủ công các tệp từ repository và đặt vào thư mục n8n-ngrok.

Bước 3: Cấu hình các tệp

3.1. Tệp docker-compose.yml

Tệp docker-compose.yml trong repository đã được cấu hình sẵn để chạy n8nngrok. Nội dung của tệp như sau:

version: "2"

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    environment:
      - N8N_SECURE_COOKIE=false
      - GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
      - WEBHOOK_URL=${EXTERNAL_IP}
    ports:
      - "5678:5678"
    networks:
      - n8n-network
    volumes:
      - n8n_data:/home/node/.n8n

  ngrok:
    container_name: ngrok
    image: ngrok/ngrok:latest
    environment:
      - NGROK_AUTHTOKEN=${NGROK_TOKEN}
    command:
      - "start"
      - "--all"
      - "--config"
      - "/etc/ngrok.yml"
    networks:
      - n8n-network
    volumes:
      - ./ngrok.yml:/etc/ngrok.yml

volumes:
  n8n_data:

networks:
  n8n-network:
    driver: bridge

3.2. Tệp ngrok.yml

Tệp ngrok.yml cấu hình ngrok để tạo đường hầm HTTPS. Nội dung của tệp như sau:

log_level: error
tunnels:
  n8n:
    proto: http
    addr: n8n:5678
    domain: xxx-lasting-evenly.ngrok-free.app

Thay thế xxx-lasting-evenly.ngrok-free.app bằng miền ngrok thực tế mà bạn nhận được khi đăng ký tài khoản ngrok.

3.3. Tệp .env

Tạo một tệp .env trong thư mục hiện tại để lưu trữ các biến môi trường cần thiết:

NGROK_TOKEN=your_ngrok_authtoken
EXTERNAL_IP=http://xxx-lasting-evenly.ngrok-free.app

Thay thế your_ngrok_authtoken bằng token ngrok của bạn (có thể tìm thấy trong tài khoản ngrok).

Thay thế xxx-lasting-evenly.ngrok-free.app bằng miền ngrok thực tế.

Bước 4: Khởi động dịch vụ

4.1. Khởi động Docker Compose

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

docker-compose up -d

4.2. Kiểm tra trạng thái

Kiểm tra xem các container đang chạy:

docker ps

Bạn sẽ thấy hai container: n8nngrok.

4.3. Truy cập n8n

Mở trình duyệt và truy cập vào địa chỉ ngrok của bạn, ví dụ:

http://xxx-lasting-evenly.ngrok-free.app

Bước 5: Quản lý và gỡ bỏ

5.1. Xem nhật ký

Xem nhật ký của các container:

docker-compose logs -f

5.2. Dừng dịch vụ

Dừng và xóa các container:

docker-compose down

5.3. Gỡ bỏ dữ liệu

Nếu muốn xóa toàn bộ dữ liệu (bao gồm cơ sở dữ liệu của n8n):

docker volume rm n8n-ngrok_n8n_data

Lưu ý quan trọng

  • Ngrok Free Tier: Ngrok miễn phí cung cấp miền ngẫu nhiên và giới hạn băng thông. Nếu bạn cần miền cố định hoặc băng thông cao hơn, hãy nâng cấp lên gói trả phí.
  • Bảo mật: Trong môi trường sản xuất, hãy đảm bảo kích hoạt N8N_SECURE_COOKIE=true và sử dụng SSL để bảo vệ dữ liệu.
  • Cập nhật n8n: Để cập nhật n8n, bạn có thể thay đổi thẻ phiên bản trong docker-compose.yml (ví dụ: n8nio/n8n:1.71.3) và chạy lại docker-compose up -d.

Kết luận

Với hướng dẫn này, bạn đã thành công trong việc cài đặt và cấu hình n8n cùng với ngrok. Bây giờ bạn có thể bắt đầu xây dựng các quy trình tự động hóa của mình! Nếu bạn gặp bất kỳ vấn đề nào, đừng ngần ngại tham khảo tài liệu chính thức của n8n hoặc liên hệ với cộng đồng hỗ trợ.

Chúc bạn thành công! 🚀

Nhận xét

Bài đăng phổ biến từ blog này

[HA] Cài đặt armbian trên tivi box để chạy home assistant tháng 10/2020

Hướng đẫn cài armbian mới nhất "Việc cài có thê gây hỏng tivi box , tự chịu trách nhiệm cho việc mình làm "  Chuẩn bị : +  Tivi box x96 mini , tx3 mini(hoặc loại khác có sử dụng chip Amolic S905W) + Thẻ nhớ 32GB + File img armbian (https://yadi.sk/d/_rQgn_FosYuW0g/20.09) Updated link : https://drive.google.com/file/d/1O-FWMF-1-xR-JQRol21D4wOO_Cp5G4jy/view?usp=drivesdk + Dây nối máy tính với box (cứu box khi cài vào emmc bị hỏng box ) Step 1 : Flash file image vào thẻ nhớ + Dùng phần mềm (https://www.balena.io/etcher/) để thực hiện flash vào thẻ nhớ Quá trình flash rất nhanh khoảng 5 phút là xong Step 2 : Mở thẻ nhớ đã flash xong  Thực hiện config để box nhận thẻ nhớ và vào armbian file cần chỉnh sửa : extlinux.conf Chú ý chọn đúng file dbt cùng với loại box  ********************************************************************************************************************************* Pay attention. Starting from version  20.08 (20200814) , the configuration or...

[HA] API tính điện tiêu thụ hằng ngày evncpc miền trung cho home assistant

Thông tin được lấy từ nguồn dữ liệu tại trang  https://cskh.cpc.vn/  với user/pass các bạn cung cấp . Chúng tôi chỉ lấy thông tin này và chuyển đổi dạng để phù hợp sử dụng trên Home Assistant . Chúng tôi sẽ không chiụ trách nhiệm về độ chính xác của dữ liệu này Sử dụng Rest sensor bạn cần kết nối internet , đôi khi do đường truyền / hoặc trang web EVN bị lỗi sẽ không lấy được data. Update : 2020.07.01 EVN không cho truy cập trang web từ ip nước ngoài nên api này cài trên web nước ngoài sẽ không hoạt động nữa. Ae nào cần code chạy local thì inbox Dạo này lướt face thấy mọi người  ai cũng bảo sao điện tăng nhiều vậy , có ngừoi nghi ngờ EVN ghi gian dối số điện . Mình không làm ở EVN nên không biết có gian dối thật không nhưng EVn hiện tại đo chữ số điện từ xa , 1 ngày đo khoảng 2 -3 lần , như vậy khách hàng sẽ quản lý được ngày tiêu thụ bao nhiêu kwh .cuối tháng có thể dối chiếu xem đúng không . Hình ảnh của EVn cung cấp do hằng ngày số kwh Dựa vào thông tin EVN cung cấp tr...

[HA] Lấy chỉ số đo điện từ công tơ điện lực miễn phí

Note: cái này đang hương dẫn cho điện lực miền trung , các miền khác chắc cũng tương tự  EVN không cho truy cập từ IP nước ngoài Anh em xem các cách khác trong blog để lấy thông tin điện lực add vào home assistant bài mới đơn giản hơn : https://vnhass.blogspot.com/2020/06/ha-api-tinh-ien-tieu-thu-hang-ngay.html?fbclid=IwAR10n1hURu1Gs4mjeAHG6RYukbdcLt-KpZB3J7GpUKhzGfjHQK4M4pOZjOI Đây là bài viết hướng dẫn lấy chỉ số điện thời gian thực từ công tơ của điện lực để đưa vào HA Sẽ có 2 cách lấy Cách 1 : lấy từ website , cách này đơn giản nhưng phụ thuộc vào bên thứ 3 . cách này dễ ai cũng thực hiện được Cách 2 : Debug app của điện lực , lấy api và token cách này phức tạp , cần nhiều "chất xám" hơn Sau đây mình sẽ hướng dẫn làm cách thứ 1 . Cách 2 sẽ hướng dẫn sau Đầu tiên các bạn phải login được vào trang cskh của điện lực bằng tài khoản và mật khẩu bên điện lực cung cấp , ai không biết thì call tổng đài nhờ hộ hỗ trợ https://cskh.cpc.vn/Default.aspx Trong này sẽ có n...