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 n8n và ngrok, 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 n8n và ngrok. 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: n8n
và ngrok
.
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ạidocker-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
Đăng nhận xét