Hướng dẫn Cài đặt n8n trên DigitalOcean | Tài liệu n8n

Lưu trữ n8n trên DigitalOcean#

Hướng dẫn lưu trữ này sẽ hướng dẫn bạn cách tự lưu trữ n8n trên một droplet của DigitalOcean. Nó sử dụng:

  • Caddy (một reverse proxy) để cho phép truy cập vào Droplet từ internet. Caddy cũng sẽ tự động tạo và quản lý chứng chỉ SSL / TLS cho phiên bản n8n của bạn.
  • Docker Compose để tạo và xác định các thành phần ứng dụng và cách chúng hoạt động cùng nhau.

Các kiến thức cần có để tự lưu trữ

Tự lưu trữ n8n đòi hỏi kiến thức kỹ thuật, bao gồm:

  • Thiết lập và cấu hình máy chủ và container
  • Quản lý tài nguyên ứng dụng và khả năng mở rộng
  • Bảo mật máy chủ và ứng dụng
  • Cấu hình n8n

n8n khuyến nghị tự lưu trữ cho người dùng có kinh nghiệm. Các sai sót có thể dẫn đến mất dữ liệu, các vấn đề bảo mật và thời gian chết. Nếu bạn không có kinh nghiệm quản lý máy chủ, n8n khuyến nghị n8n Cloud.

Phiên bản mới nhất và phiên bản tiếp theo

n8n phát hành phiên bản phụ mới hầu hết các tuần. Phiên bản latest dành cho sử dụng trong môi trường production. next là bản phát hành gần đây nhất. Bạn nên coi next như một bản beta: nó có thể không ổn định. Để báo cáo sự cố, hãy sử dụng diễn đàn.

latest hiện tại: 1.76.1
next hiện tại: 1.77.0

Tạo Droplet#

  1. Đăng nhập vào DigitalOcean.
  2. Chọn dự án để lưu trữ Droplet, hoặc tạo một dự án mới.
  3. Trong dự án của bạn, chọn Droplets từ menu Manage.
  4. Tạo một Droplet mới sử dụng Docker image có sẵn trên tab Marketplace.

Tài nguyên Droplet

Khi tạo Droplet, DigitalOcean yêu cầu bạn chọn gói. Đối với hầu hết các mức sử dụng, gói CPU dùng chung cơ bản là đủ.

Khóa SSH hoặc Mật khẩu

DigitalOcean cho phép bạn chọn giữa xác thực bằng khóa SSH và mật khẩu. Khóa SSH được coi là an toàn hơn.

Đăng nhập vào Droplet của bạn và tạo người dùng mới#

Phần còn lại của hướng dẫn này yêu cầu bạn đăng nhập vào Droplet bằng thiết bị đầu cuối với SSH. Tham khảo Cách kết nối với Droplets bằng SSH để biết thêm thông tin.

XEM THÊM:  Khám Phá DeepSeek V3: Mô Hình Nguồn Mở Mạnh Mẽ Trong Ngành Công Nghệ AI

Bạn nên tạo một người dùng mới, để tránh làm việc với tư cách người dùng root:

  1. Đăng nhập với tư cách root.
  2. Tạo người dùng mới:
  3. Làm theo hướng dẫn trong CLI để hoàn tất việc tạo người dùng.
  4. Cấp quyền quản trị cho người dùng mới:
    usermod -aG sudo <tên người dùng>
    

    Bây giờ bạn có thể chạy các lệnh với đặc quyền siêu người dùng bằng cách sử dụng sudo trước lệnh.

  5. Làm theo các bước để thiết lập SSH cho người dùng mới: Thêm xác thực bằng Khóa công khai.
  6. Đăng xuất khỏi droplet.
  7. Đăng nhập bằng SSH với tư cách người dùng mới.

Sao chép kho cấu hình#

Docker Compose, n8n và Caddy yêu cầu một loạt các thư mục và tệp cấu hình. Bạn có thể sao chép chúng từ kho này vào thư mục home của người dùng đã đăng nhập trên Droplet của bạn. Các bước sau sẽ cho bạn biết tệp nào cần thay đổi và những thay đổi cần thực hiện.

Sao chép kho với lệnh sau:

git clone https://github.com/n8n-io/n8n-docker-caddy.git

Và thay đổi thư mục thành thư mục gốc của kho bạn đã sao chép:

Các thư mục và tệp mặc định#

Hệ điều hành máy chủ (DigitalOcean Droplet) sao chép hai thư mục bạn đã tạo vào các container Docker để chúng có sẵn cho Docker. Hai thư mục là:

  • caddy_config: Chứa các tệp cấu hình Caddy.
  • local_files: Thư mục chứa các tệp bạn tải lên hoặc thêm bằng n8n.

Tạo Docker volumes#

Để duy trì bộ nhớ cache của Caddy giữa các lần khởi động lại và tăng tốc thời gian khởi động, hãy tạo một volume Docker mà Docker sử dụng lại giữa các lần khởi động lại:

sudo docker volume create caddy_data

Tạo một Docker volume cho dữ liệu n8n:

sudo docker volume create n8n_data

Thiết lập DNS#

n8n thường hoạt động trên một tên miền phụ. Tạo bản ghi DNS với nhà cung cấp của bạn cho tên miền phụ và trỏ nó đến địa chỉ IP của Droplet. Các bước chính xác cho việc này tùy thuộc vào nhà cung cấp DNS của bạn, nhưng thông thường bạn cần tạo bản ghi “A” mới cho tên miền phụ n8n. DigitalOcean cung cấp Giới thiệu về thuật ngữ, thành phần và khái niệm DNS.

Mở cổng#

n8n chạy như một ứng dụng web, vì vậy Droplet cần cho phép truy cập đến lưu lượng truy cập trên cổng 80 cho lưu lượng không an toàn và cổng 443 cho lưu lượng an toàn.

Mở các cổng sau trong tường lửa của Droplet bằng cách chạy hai lệnh sau:

sudo ufw allow 80
sudo ufw allow 443

Cấu hình n8n#

n8n cần một số biến môi trường được thiết lập để chuyển đến ứng dụng đang chạy trong container Docker. Tệp .env ví dụ chứa các phần giữ chỗ bạn cần thay thế bằng các giá trị của riêng bạn.

Mở tệp bằng lệnh sau:

Tệp chứa các nhận xét nội tuyến để giúp bạn biết những gì cần thay đổi.

Tham khảo Biến môi trường để biết chi tiết về biến môi trường n8n.

Tệp Docker Compose#

Tệp Docker Compose (docker-compose.yml) xác định các dịch vụ mà ứng dụng cần, trong trường hợp này là Caddy và n8n.

  • Định nghĩa dịch vụ Caddy xác định các cổng nó sử dụng và các volume cục bộ để sao chép vào container.
  • Định nghĩa dịch vụ n8n xác định các cổng nó sử dụng, các biến môi trường mà n8n cần để chạy (một số được xác định trong tệp .env) và các volume nó cần sao chép vào container.

Tệp Docker Compose sử dụng các biến môi trường được thiết lập trong tệp .env, vì vậy bạn không cần thay đổi nội dung của nó, nhưng để xem qua, hãy chạy lệnh sau:

Cấu hình Caddy#

Caddy cần biết những tên miền nào nó sẽ phục vụ và cổng nào sẽ hiển thị ra bên ngoài. Chỉnh sửa tệp Caddyfile trong thư mục caddy_config.

nano caddy_config/Caddyfile

Thay đổi tên miền giữ chỗ thành của bạn. Nếu bạn làm theo các bước để đặt tên miền phụ là n8n, tên miền đầy đủ của bạn sẽ tương tự như n8n.example.com. n8n trong cài đặt reverse_proxy cho Caddy biết sử dụng định nghĩa dịch vụ được xác định trong tệp docker-compose.yml:

n8n.<tên miền>.<hậu tố> {
    reverse_proxy n8n:5678 {
      flush_interval -1
    }
}

Nếu bạn sử dụng automate.example.com, Caddyfile của bạn có thể trông như thế này:

automate.example.com {
    reverse_proxy n8n:5678 {
      flush_interval -1
    }
}

Khởi động Docker Compose#

Khởi động n8n và Caddy bằng lệnh sau:

sudo docker compose up -d

Việc này có thể mất vài phút.

Kiểm tra thiết lập của bạn#

Trong trình duyệt của bạn, hãy mở URL được tạo từ tên miền phụ và tên miền đã xác định trước đó. Nhập tên người dùng và mật khẩu đã xác định trước đó và bạn sẽ có thể truy cập n8n.

Dừng n8n và Caddy#

Bạn có thể dừng n8n và Caddy bằng lệnh sau:

Cập nhật#

Nếu bạn chạy n8n bằng tệp Docker Compose, hãy làm theo các bước sau để cập nhật n8n:

# Tải phiên bản mới nhất
docker compose pull

# Dừng và xóa phiên bản cũ hơn
docker compose down

# Khởi động container
docker compose up -d

Các bước tiếp theo#

Bạn có thấy hữu ích không? Hãy cho chúng tôi +1 nhé

Đăng ký nhận bản tin từ Website TXL

Tìm kiếm tức thì các thông tin tại website: tranxuanloc.com

Mẹo tìm kiếm: "Từ khóa cần tìm kiếm" site:tranxuanloc.com để tìm được kết quả chính xác trên công cụ tìm kiếm của google

Trần Xuân Lộc Blog cung cấp dịch vụ

TOP ĐỐI TÁC CUNG CẤP DỊCH VỤ DU LỊCH TRỰC TUYẾN HÀNG ĐẦU

(Đặt phòng, đặt tour, đặt xe, đặt vé máy bay...Nhấn vào link logo để đặt dịch vụ với nhiều ưu đãi hấp dẫn)

Cảnh báo: Hiện nay có rất nhiều đơn vị SỬ DỤNG LẠI các THÔNG TIN NỘI DUNG ĐÀO TẠO của KHÓA HỌC SALE OTA TỪ OTAVN mà không đảm bảo chất lượng và hỗ trợ về sau. Các bạn muốn đăng ký học SALE OTA uy tín hãy liên hệ trực tiếp với OTA Việt Nam. OTAVN có xây dựng các hình thức đào tạo trực tiếp offline cho doanh nghiệp, đào tạo 1-1 từ xa và tự học online. Chúng tôi có 2 tên miền là: otavietnam.com và tranxuanloc.com (founder) có chia sẻ và đăng tải các thông tin liên quan về OTA/ Sale OTA/ Digital Marketing/ Thiết kế website... Với khách hàng/ đối tác đã sử dụng dịch vụ của OTAVN sẽ được HỖ TRỢ MIỄN PHÍ các vấn đề phát sinh, tư vấn giải đáp sau khi đã hoàn thành khóa học hoặc sau khi đã sử dụng dịch vụ trọn đời. Hotline:0934552325 (iMessage/ Zalo/ Whatsapp) - Email: [email protected]