Hướng Dẫn Cài Đặt và Nâng Cấp n8n trên Ubuntu với Docker

Blog » Phần mềm, thủ thuật » Hướng Dẫn Cài Đặt và Nâng Cấp n8n trên Ubuntu với Docker

n8n là một công cụ tự động hóa quy trình mạnh mẽ, cho phép bạn kết nối các ứng dụng và tự động hóa các tác vụ một cách dễ dàng. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách cài đặt và nâng cấp n8n trên máy chủ Ubuntu sử dụng Docker và Docker Compose, với sự hỗ trợ của Caddy để đảm bảo truy cập an toàn qua HTTPS.

Hướng Dẫn Cài Đặt và Nâng Cấp n8n trên Ubuntu với Docker

Bài viết này sử dụng hai script Bash từ kho lưu trữ vsisnet/n8n_install_ubuntu để tự động hóa quy trình cài đặt và nâng cấp. Chỉ với một lệnh duy nhất, bạn có thể triển khai n8n và sẵn sàng nâng cấp bất kỳ lúc nào.

Yêu cầu trước khi bắt đầu

Để cài đặt n8n theo hướng dẫn này, bạn cần chuẩn bị:

  • Máy chủ Ubuntu: Phiên bản 18.04 hoặc cao hơn được khuyến nghị. Bạn có thể mua tại https://vsis.net/vps-gia-re/
  • Quyền root hoặc sudo: Để thực thi các lệnh cài đặt.
  • Tên miền hoặc tên miền phụ: Đảm bảo bản ghi DNS (A record) trỏ đến địa chỉ IP công khai của máy chủ.
  • Kết nối internet: Để tải các image Docker và các phụ thuộc.

Bước 1: Cài đặt n8n

Chúng tôi đã chuẩn bị script n8n_install_ubuntu.sh để tự động hóa toàn bộ quá trình cài đặt n8n, bao gồm:

  • Kiểm tra quyền root.
  • Xác minh tên miền trỏ đúng đến IP của máy chủ.
  • Cài đặt Docker và Docker Compose.
  • Tạo thư mục /home/n8n để lưu cấu hình và dữ liệu.
  • Thiết lập file docker-compose.yml để chạy n8n và Caddy.
  • Tự động cấu hình Caddy để sử dụng HTTPS với reverse proxy tới n8n.
  • Tải và thiết lập script nâng cấp upgrade_n8n.sh để sử dụng sau này.

Cách thực hiện

Chạy lệnh duy nhất sau để tải, phân quyền, và thực thi script cài đặt:

curl -O https://raw.githubusercontent.com/vsisnet/n8n_install_ubuntu/main/n8n_install_ubuntu.sh && chmod +x n8n_install_ubuntu.sh && sudo ./n8n_install_ubuntu.sh

Các bước chi tiết:

  1. Nhập tên miền: Khi được yêu cầu, nhập tên miền hoặc tên miền phụ của bạn (ví dụ: n8n.example.com).
  2. Chờ cài đặt hoàn tất: Script sẽ tự động cài đặt Docker, Docker Compose, tạo cấu hình, và khởi động các container.
  3. Truy cập n8n: Sau khi cài đặt thành công, bạn có thể truy cập n8n tại https://<tên-miền-của-bạn>.

Lưu ý:

  • Đảm bảo bản ghi DNS (A record) của tên miền trỏ đúng đến IP công khai của máy chủ trước khi chạy script. Bạn có thể kiểm tra bằng lệnh dig <tên-miền> hoặc nslookup <tên-miền>.
  • Script mặc định đặt múi giờ là Asia/Ho_Chi_Minh. Nếu cần đổi múi giờ, chỉnh sửa biến GENERIC_TIMEZONE trong file /home/n8n/docker-compose.yml.
  • Tìm hiểu thêm về n8n tại vsis.net.

Bước 2: Nâng cấp n8n

Script upgrade_n8n.sh được tự động tải về và đặt trong thư mục /home/n8n trong quá trình cài đặt. Script này giúp bạn nâng cấp n8n lên phiên bản mới nhất mà vẫn giữ nguyên dữ liệu hiện tại.

Tính năng của script nâng cấp:

  • Kiểm tra quyền root và sự tồn tại của thư mục n8n.
  • Sao lưu dữ liệu n8n (/home/n8n/.n8n) vào file tar.gz có tên theo thời gian.
  • Dừng các container đang chạy.
  • Tải image mới nhất của n8nio/n8ncaddy:2.
  • Khởi động lại các container với image đã cập nhật.

Cách thực hiện

  1. Di chuyển đến thư mục /home/n8n:cd /home/n8n
  2. Chạy script nâng cấp với quyền root:sudo ./upgrade_n8n.sh
  3. Kiểm tra nâng cấp bằng cách truy cập https://<tên-miền-của-bạn>.

Lưu ý:

  • Bản sao lưu được lưu trong /home/n8n với tên như n8n_backup_YYYYMMDD_HHMMSS.tar.gz. Để khôi phục dữ liệu, sử dụng lệnh:tar -xzf /home/n8n/n8n_backup_*.tar.gz -C /home/n8n/.n8n
  • Đảm bảo tên miền vẫn trỏ đúng đến IP của máy chủ trước khi nâng cấp.

Xử lý sự cố

Nếu gặp vấn đề trong quá trình cài đặt hoặc nâng cấp, hãy tham khảo các bước xử lý sau:

  • Tên miền không trỏ đúng đến máy chủ:
    • Kiểm tra DNS bằng lệnh:dig <tên-miền> hoặc nslookup <tên-miền>
    • Cập nhật bản ghi A trong DNS để trỏ đến IP công khai của máy chủ.
  • Sự cố Docker:
    • Kiểm tra log của container để tìm lỗi:docker-compose -f /home/n8n/docker-compose.yml logs
  • Sự cố HTTPS của Caddy:
    • Đảm bảo các cổng 80 và 443 trên máy chủ không bị chặn bởi tường lửa. Kiểm tra bằng:sudo netstat -tuln | grep -E '80|443'
    • Nếu cần, mở cổng bằng ufw:sudo ufw allow 80 sudo ufw allow 443

Hỗ trợ nhiều instance n8n

Nếu bạn muốn chạy nhiều instance n8n trên cùng một VPS (ví dụ: n8n1.example.com, n8n2.example.com), hãy tham khảo phiên bản nâng cao của script tại kho lưu trữ GitHub. Phiên bản này hỗ trợ:

  • Tạo thư mục riêng cho từng instance (ví dụ: /home/n8n1, /home/n8n2).
  • Sử dụng cổng động để tránh xung đột (5678/5679 cho instance đầu, 5680/5681 cho instance tiếp theo).
  • Tự động cấu hình Caddy cho mỗi tên miền.

Liên hệ với chúng tôi qua vsis.net để được hướng dẫn chi tiết.

Đóng góp và hỗ trợ

Nếu bạn muốn cải thiện script hoặc cần hỗ trợ, hãy:

  • Gửi issue hoặc pull request tại GitHub repository.
  • Truy cập blog.vsis.net để tìm hiểu thêm về n8n và các bài hướng dẫn khác.

Giấy phép

Dự án này được cấp phép theo MIT License.


Bắt đầu tự động hóa quy trình của bạn với n8n ngay hôm nay! Chạy lệnh cài đặt, thiết lập tên miền, và khám phá sức mạnh của tự động hóa tại vsis.net.

Leave a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *