Hướng dẫn Triển khai n8n với Docker và HTTPS

Trong thời đại số hóa, tự động hóa quy trình làm việc (workflow automation) đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất và giảm thiểu công việc thủ công. n8n là một nền tảng tự động hóa mã nguồn mở, cho phép kết nối các ứng dụng, dịch vụ và quy trình một cách linh hoạt mà không cần lập trình phức tạp.

Hệ thống này được triển khai trên n8n.datacloud.vn, sử dụng Docker để đảm bảo tính linh hoạt, dễ dàng mở rộng và quản lý. Với việc tích hợp HTTPS thông qua Nginx Reverse Proxy, hệ thống sẽ cung cấp kết nối an toàn, ổn định và sẵn sàng cho các tác vụ tự động hóa.

Hướng dẫn này sẽ trình bày chi tiết cách triển khai n8n, cấu hình HTTPS, cũng như đảm bảo tính ổn định

Cấu hình khuyến nghị

  • CPU: 2-4 vCPU
  • RAM: 4-8 GB
  • Disk: 20-50 GB SSD

Cài đặt Docker & Docker Compose

Bước 1: Cài đặt Docker & Docker Compose

sudo apt update && sudo apt install -y docker.io docker-compose

sudo systemctl enable –now docker

Bước 2: Kiểm tra phiên bản Docker:

docker –version

docker-compose –version

Bước 3: Cấu hình n8n với domain n8n.datacloud.vn

Tạo lại thư mục và cấp quyền đúng

sudo mkdir -p ~/.n8n sudo

chown -R 1000:1000 ~/.n8n

sudo chmod -R 770 ~/.n8n

docker run -d –name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n –restart always n8nio/n8n

Bước 4: Kiểm tra container có chạy không và kiểm tra trên trang web

docker ps

Có thể cài https hoặc Tắt Secure Cookie

Để bảo mật datacloudvn khuyên bạn nên cài thêm ssl

2.Cài đặt SSL

Bước 1: Cài đặt cả Nginx, Certbot

apt install -y nginx certbot python3-certbot-nginx

Bước 2: Tạo chứng chỉ SSL có thể sử dụng xác thực bắng dns txt record và thiết lập gửi thông báo về mail:

sudo certbot -d n8n.datacloud.vn –manual –preferred-challenges dns certonly –email hungnguyentran326@gmail.com

Bước 3: Sau khi trỏ DNS xong kiểm tra lại trên dnschecker

Bước 4: Sau khi trỏ đã trỏ thành công vào lại server n8n bấm Enter để tiếp tục

3.Cấu hình Nginx Reverse Proxy

Bước 1: Tạo file cấu hình Nginx cho n8n:

nano /etc/nginx/sites-available/n8n

 

server {

listen 80;

server_name n8n.datacloud.vn;

return 301 https://$host$request_uri;

}

 

server {

listen 443 ssl;

server_name n8n.datacloud.vn;

 

ssl_certificate /etc/letsencrypt/live/n8n.datacloud.vn/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/n8n.datacloud.vn/privkey.pem;

ssl_protocols TLSv1.2 TLSv1.3;

 

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;

proxy_set_header X-Forwarded-Proto $scheme;

}

}

Bước 2: Lưu và kích hoạt cấu hình:

ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/

nginx -t

systemctl restart nginx

Bước 3: Cấu hình n8n để hỗ trợ HTTPS

Dừng container hiện tại và thay port của n8n là 5678 thành https của webtite

docker stop n8n && docker rm n8n

docker run -d –name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e N8N_PROTOCOL=https -e N8N_HOST=n8n.datacloud.vn -e WEBHOOK_URL=https://n8n.datacloud.vn/ –restart always n8nio/n8n

4.Kiểm tra lại với website

https://n8n.datacloud.vn/

Kết luận

Chúng ta vừa hoàn thành các bước triển khai trên n8n, sử dụng Docker để đảm bảo tính linh hoạt, dễ dàng mở rộng và quản lý, tại đây chúng ta có thể sử dụng n8n tự động hóa kết nối các ứng dụng, dịch vụ và quy trình một cách linh hoạt mà không cần lập trình phức tạp.

Cảm ơn các bạn đã đọc bài viết này !

Bé Snake