Hướng Dẫn Cài Đặt n8n Trên Ubuntu Từng Bước Bằng Docker
Cài đặt n8n trên Ubuntu là giải pháp tối ưu giúp bạn sở hữu một hệ sinh thái tự động hóa quy trình (workflow automation) mạnh mẽ mà không phải gánh mức chi phí định kỳ đắt đỏ của các gói dịch vụ điện toán đám mây. Việc tự vận hành (self-host) n8n trên nền […]
Cài đặt n8n trên Ubuntu là giải pháp tối ưu giúp bạn sở hữu một hệ sinh thái tự động hóa quy trình (workflow automation) mạnh mẽ mà không phải gánh mức chi phí định kỳ đắt đỏ của các gói dịch vụ điện toán đám mây. Việc tự vận hành (self-host) n8n trên nền tảng máy chủ riêng mang lại toàn quyền kiểm soát dữ liệu, không giới hạn số lượng luồng thực thi và hỗ trợ tích hợp linh hoạt các mô hình AI agent hiện đại. Nếu bạn đang tìm kiếm một giải pháp hạ tầng tối ưu ngân sách để triển khai, dịch vụ thuê VPS giá rẻ tại Fast Byte sẽ là nền tảng khởi đầu vững chắc cho toàn bộ hệ thống tự động hóa của bạn.
1. n8n là gì? Tại sao nên tự host trên VPS Ubuntu?
n8n là nền tảng tự động hóa quy trình làm việc (workflow automation) mã nguồn mở với cơ chế node-based trực quan, cho phép kết nối hàng trăm dịch vụ như Google Sheets, Telegram, CRM và các API trí tuệ nhân tạo. Thay vì trả phí theo từng lượt chạy (execution), việc tự host n8n giúp bạn kiểm soát toàn bộ dữ liệu và vận hành không giới hạn.

Đối với người dùng chuyên sâu về tự động hóa, marketer quản lý luồng dữ liệu khách hàng đa kênh hoặc lập trình viên phát triển AI agent, chi phí vận hành trên các nền tảng đám mây như Zapier, Make hay n8n Cloud tăng rất nhanh khi số lượng execution mở rộng. Việc tự host trên máy chủ ảo cá nhân giải quyết triệt để rào cản chi phí này. Bạn có thể tìm hiểu thêm về bản chất nền tảng hạ tầng qua bài viết VPS là gì để hiểu rõ quyền quản trị hệ thống ở mức root.
Khi tự vận hành n8n trên hệ điều hành Ubuntu:
- Toàn quyền sở hữu dữ liệu: Thông tin xác thực (credentials), token API và cơ sở dữ liệu nội bộ được lưu trữ cục bộ trên ổ đĩa máy chủ của bạn, không qua bên thứ ba.
- Không giới hạn số lượt thực thi: Số lượng execution chỉ phụ thuộc vào cấu hình phần cứng của VPS, không bị tính tiền bổ sung khi lưu lượng công việc đột biến.
- Linh hoạt mở rộng tính năng: Bạn có thể chạy kèm các mô hình ngôn ngữ lớn (LLM) cục bộ, cài đặt thư viện Python hoặc tùy biến mã nguồn JavaScript phục vụ các kịch bản phức tạp.
2. Cấu hình VPS bao nhiêu là đủ để chạy n8n ổn định?
VPS cần tối thiểu 1 vCPU và 1GB RAM để n8n khởi động, nhưng cấu hình đề xuất tiêu chuẩn là 2 vCPU và 2GB đến 4GB RAM kèm ổ cứng SSD NVMe để xử lý các luồng dữ liệu webhook liên tục, lưu trữ lịch sử execution và tránh lỗi tràn bộ nhớ (Out of Memory).
RAM là tài nguyên quan trọng nhất trong quá trình n8n xử lý dữ liệu. Bản thân n8n chạy trên môi trường Node.js. Khi bạn xử lý các tệp dữ liệu lớn, phân tích JSON phức tạp hoặc kết nối nhiều luồng Webhook đồng thời, mức sử dụng RAM sẽ tăng đột biến trong thời gian ngắn. Nếu dung lượng RAM vật lý cạn kiệt và hệ thống không có phân vùng Swap đủ lớn, tiến trình n8n sẽ bị Linux kernel (OOM Killer) buộc dừng hoạt động ngay lập tức.
| Mức nhu cầu | Cấu hình tối thiểu | Khả năng đáp ứng | Lưu trữ khuyến nghị |
|---|---|---|---|
| Cơ bản / Học tập | 1 vCPU, 1GB RAM | Chạy thử nghiệm, 5 – 10 workflow đơn giản, trigger theo lịch (Cron) | 20GB SSD |
| Tiêu chuẩn (Khuyên dùng) | 2 vCPU, 2GB – 4GB RAM | Vận hành liên tục, hàng chục Webhook, xử lý AI agent kết nối OpenAI/Gemini | 30GB – 40GB SSD NVMe |
| Quy mô lớn / Doanh nghiệp | 4 vCPU, 8GB RAM trở lên | Queue mode (kết nối Redis, PostgreSQL riêng), hàng trăm ngàn lượt execution/ngày | 60GB+ SSD NVMe U.2 |
3. Các bước chuẩn bị trước khi cài đặt n8n
Để quá trình cài đặt n8n trên Ubuntu diễn ra liền mạch và tránh gặp lỗi kết nối hay chứng chỉ SSL về sau, bạn cần chuẩn bị đầy đủ các điều kiện tiên quyết dưới đây:
- Hệ điều hành: Bản phân phối Ubuntu 22.04 LTS (Long Term Support) hoặc Ubuntu 24.04 LTS bản cài đặt sạch (Clean OS). Hướng dẫn này được thực nghiệm trực tiếp trên nền tảng Ubuntu 22.04 LTS.
- Quyền quản trị: Tài khoản root hoặc người dùng thường có đặc quyền chạy lệnh
sudo. Bạn có thể tham khảo tài liệu cách sử dụng VPS cơ bản để nắm vững nguyên lý quản trị dòng lệnh. - Kết nối SSH: Đã thiết lập phần mềm dòng lệnh (Terminal trên macOS/Linux hoặc PuTTY/PowerShell trên Windows) để điều khiển máy chủ. Xem chi tiết tại hướng dẫn kết nối SSH vào VPS.
- Tên miền riêng (Domain): Một tên miền hoặc tên miền con (subdomain, ví dụ:
n8n.yourdomain.com) đã tạo bản ghi DNS trỏ bản ghi A chính xác về địa chỉ IP tĩnh của VPS. Nếu chưa quen với thao tác quản trị DNS, hãy theo dõi bài viết cách trỏ tên miền về VPS.
4. Bước 1: Cập nhật hệ thống Ubuntu và cài đặt Docker Engine
Việc sử dụng Docker để đóng gói ứng dụng n8n mang lại lợi thế tách biệt môi trường, không lo xung đột các gói phụ thuộc Node.js trên máy chủ gốc và giúp nâng cấp phiên bản chỉ bằng vài lệnh cơ bản. Chi tiết hơn về nền tảng container này có thể tham khảo tại bài hướng dẫn cài đặt Docker trên Ubuntu.
4.1. Cập nhật danh sách gói phần mềm
Trước hết, hãy kết nối vào VPS qua SSH và cập nhật toàn bộ cơ sở dữ liệu các gói hệ thống lên bản mới nhất để đảm bảo tính tương thích và bảo mật:
sudo apt update && sudo apt upgrade -y
4.2. Cài đặt các gói phụ trợ và cấu hình kho chứa chính thức của Docker
Cài đặt các gói bổ trợ cần thiết để trình quản lý apt có thể tải và xác thực chứng chỉ từ kho lưu trữ HTTPS của Docker:
sudo apt install -y ca-certificates curl gnupg lsb-release
Thêm khóa GPG chính thức của Docker vào thư viện bảo mật của hệ điều hành:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Đăng ký kho lưu trữ (repository) chính thức của Docker vào tệp danh sách nguồn tải trên Ubuntu:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4.3. Tiến hành cài đặt Docker Engine và Docker Compose Plugin
Sau khi bổ sung repository, bạn tiến hành làm mới danh sách gói và cài đặt Docker Engine cùng Docker Compose plugin:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4.4. Kiểm tra trạng thái hoạt động của Docker
Hãy kiểm tra phiên bản để chắc chắn Docker và tiện ích Docker Compose đã được nạp thành công vào hệ thống:
docker --version docker compose version

Để thao tác với Docker mà không cần phải gõ tiền tố sudo trước mỗi câu lệnh, hãy đưa người dùng hiện tại vào nhóm docker:
sudo usermod -aG docker $USER
Lưu ý: Sau khi thực hiện lệnh trên, bạn cần đăng xuất SSH (gõ exit) và đăng nhập lại để quyền nhóm có hiệu lực.
5. Bước 2: Tạo tệp cấu hình Docker Compose triển khai n8n
Sử dụng Docker Compose là phương pháp quản lý ứng dụng chuyên nghiệp nhất. Tất cả thiết lập về cổng, biến môi trường (environment variables) và cơ chế lưu trữ dữ liệu đều được khai báo tập trung trong một tệp duy nhất. Phương án này an toàn và dễ bảo trì hơn so với việc cài đặt trực tiếp qua npm bằng tiến trình nền, như cách làm đối với một ứng dụng web thông thường được nhắc tới trong bài deploy Node.js với PM2 trên VPS.
5.1. Tạo thư mục làm việc cho n8n
Tạo thư mục chuyên biệt để lưu trữ cấu hình triển khai n8n và di chuyển vào thư mục đó:
mkdir -p ~/n8n-docker && cd ~/n8n-docker
5.2. Soạn thảo tệp docker-compose.yml
Mở trình soạn thảo nano để khởi tạo tệp cấu hình:
nano docker-compose.yml
Dán toàn bộ nội dung cấu hình dưới đây vào tệp. Bạn hãy thay thế n8n.yourdomain.com bằng tên miền phụ thực tế của bạn:
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n_server
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.yourdomain.com/
- GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
- TZ=Asia/Ho_Chi_Minh
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
external: false
Nhấn tổ hợp phím Ctrl + O, nhấn Enter để lưu và Ctrl + X để thoát khỏi trình soạn thảo nano.

Hoặc nếu bạn muốn chạy ở local trước thì hãy dán toàn bộ nội dung cấu hình dưới đây vào tệp Docker Compose.
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n_server
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- N8N_SECURE_COOKIE=false
- NODE_ENV=production
- WEBHOOK_URL=http://localhost:5678/
- GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
- TZ=Asia/Ho_Chi_Minh
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
external: false
5.3. Ý nghĩa của các thông số cấu hình quan trọng
Để tùy chỉnh n8n chuẩn xác theo tài liệu máy chủ n8n Hosting Docs, bạn cần hiểu rõ vai trò của từng biến môi trường:
- 127.0.0.1:5678:5678: Cổng 5678 của n8n được trỏ nội bộ vào loopback IP của máy chủ thay vì mở công khai ra Internet. Điều này ngăn chặn việc người ngoài truy cập trực tiếp qua cổng chưa có mã hóa SSL.
- N8N_HOST & N8N_PROTOCOL: Định danh tên miền và giao thức bảo mật mà người dùng cũng như các webhook bên ngoài sẽ dùng để gọi đến hệ thống n8n.
- WEBHOOK_URL: Biến bắt buộc để các webhook tự động tạo đường dẫn trả về chính xác khi bạn kích hoạt các luồng tự động kết nối với Stripe, GitHub, Facebook hay Telegram.
- volumes (n8n_data): Thư mục lưu trữ bền vững. Mọi quy trình, thông tin tài khoản và cấu hình mã hóa của bạn nằm tại đây. Nếu không mount volume, toàn bộ công sức xây dựng workflow sẽ biến mất sạch khi container khởi động lại.
5.4. Khởi chạy container n8n
Khởi động container ở chế độ chạy nền (detached mode):
docker compose up -d
Kiểm tra danh sách container để đảm bảo tiến trình n8n đang hoạt động ổn định với trạng thái Up:
docker compose ps

6. Bước 3: Cấu hình Nginx Reverse Proxy và kích hoạt SSL Let’s Encrypt
Vì n8n đang lắng nghe nội bộ tại cổng 5678, chúng ta cần một web server phía trước đóng vai trò Reverse Proxy nhằm chuyển tiếp các yêu cầu từ cổng 80 (HTTP) và cổng 443 (HTTPS) vào n8n. Độc giả có thể tìm hiểu thêm kỹ thuật này tại bài hướng dẫn cài Nginx trên VPS.
6.1. Cài đặt Nginx và công cụ Certbot
Tiến hành cài đặt Nginx cùng tiện ích Certbot hỗ trợ lấy chứng chỉ bảo mật SSL miễn phí từ tổ chức Let’s Encrypt:
sudo apt install -y nginx certbot python3-certbot-nginx
6.2. Thiết lập Server Block Nginx xử lý giao thức WebSocket
Giao diện thiết kế trực quan của n8n dùng giao thức WebSocket để đồng bộ trạng thái thực thi thời gian thực của các node. Nếu cấu hình Nginx thiếu các header chuyển đổi WebSocket, hệ thống sẽ liên tục xuất hiện thông báo lỗi mất kết nối (“Connection lost”).
Tạo tệp cấu hình mới cho tên miền n8n của bạn:
sudo nano /etc/nginx/sites-available/n8n
Dán nội dung cấu hình sau vào tệp (nhớ đổi n8n.yourdomain.com thành tên miền thật của bạn):
server {
listen 80;
server_name n8n.yourdomain.com;
location / {
proxy_pass http://127.0.0.1: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;
# Cấu hình bắt buộc cho giao thức WebSocket của n8n
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Tăng thời gian chờ cho các luồng xử lý dữ liệu kéo dài
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 300s;
}
}
Lưu tệp (Ctrl + O, Enter, Ctrl + X), sau đó kích hoạt cấu hình bằng cách tạo symbolic link sang thư mục sites-enabled:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
Kiểm tra cú pháp tệp cấu hình Nginx để đảm bảo không có lỗi chính tả:
sudo nginx -t
Nếu hệ thống trả lời syntax is ok và test is successful, tải lại Nginx để nạp cấu hình mới:
sudo systemctl reload nginx
Nếu bạn đang dùng localhost và chưa có tên miền thì file Nginx có thể đổi thành như sau:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1: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;
# WebSocket cho n8n
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Timeout cho workflow chạy lâu
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 300s;
}
}
6.3. Cài đặt chứng chỉ bảo mật SSL Let’s Encrypt
Chạy lệnh Certbot tự động cấu hình giao thức HTTPS và tự sinh các tham số mã hóa vào cấu hình Nginx:
sudo certbot --nginx -d n8n.yourdomain.com
Hệ thống sẽ yêu cầu bạn nhập địa chỉ email quản trị để nhận cảnh báo khi chứng chỉ sắp hết hạn và đồng ý với điều khoản dịch vụ (nhấn Y). Sau khi hoàn tất, Certbot sẽ tự động thiết lập chuyển hướng toàn bộ lưu lượng HTTP sang kết nối mã hóa HTTPS.
Bây giờ, bạn đã có thể mở trình duyệt web và truy cập địa chỉ https://n8n.yourdomain.com để khởi tạo tài khoản quản trị đầu tiên (Owner Account).

7. Bước 4: Thiết lập bảo mật cơ bản sau khi cài đặt
Bảo vệ máy chủ sau khi cài n8n thành công là bước bắt buộc để ngăn chặn các cuộc quét mã độc và bảo vệ các thông tin API keys bạn liên kết trong workflow.
7.1. Cấu hình tường lửa UFW (Uncomplicated Firewall)
Bạn chỉ nên mở đúng các cổng dịch vụ cần thiết bao gồm SSH (cổng 22 hoặc cổng bạn đổi), cổng 80 (HTTP) và cổng 443 (HTTPS). Cổng 5678 tuyệt đối không mở trực tiếp ra ngoài Internet. Xem thêm tài liệu cấu hình UFW / tường lửa trên VPS để quản lý an toàn danh sách truy cập mạng.
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
Hệ thống sẽ hỏi xác nhận kích hoạt tường lửa, gõ y và nhấn Enter. Kiểm tra lại danh sách cổng đã mở:
sudo ufw status
7.2. Quản lý khóa mã hóa bí mật (Encryption Key)
Mọi thông tin đăng nhập, token xác thực bên trong các node của n8n đều được mã hóa tự động bằng một khóa bảo mật sinh ra khi cài đặt lần đầu. Khóa này nằm tại tệp config bên trong thư mục dữ liệu Docker volume. Bạn có thể sao lưu thủ công hoặc cấu hình biến môi trường N8N_ENCRYPTION_KEY trực tiếp trong tệp docker-compose.yml để tiện lợi cho việc phục hồi hệ thống khi chuyển máy chủ mới.
8. Xử lý các sự cố phổ biến khi vận hành n8n
Trong quá trình tự host n8n trên VPS Ubuntu, người mới bắt đầu thường gặp phải một số lỗi kỹ thuật. Dưới đây là cách khoanh vùng và khắc phục nhanh:
Sự cố 1: Lỗi “Connection lost” hoặc WebSocket error trên trình duyệt
- Triệu chứng: Giao diện n8n thường xuyên hiện pop-up màu cam thông báo mất kết nối tới máy chủ khi bạn đang thao tác vẽ luồng tự động.
- Nguyên nhân: Nginx reverse proxy chưa kích hoạt chuyển tiếp tiêu đề WebSocket HTTP sang container n8n.
- Cách xử lý: Mở tệp
/etc/nginx/sites-available/n8n, kiểm tra khốilocation /xem đã có hai dòngproxy_set_header Upgrade $http_upgrade;vàproxy_set_header Connection "upgrade";chưa. Sau đó chạysudo systemctl reload nginx.
Sự cố 2: Certbot báo lỗi xác thực tên miền không thành công
- Triệu chứng: Chạy lệnh
certbotbị trả về mã lỗi kết nốiFailed authorization procedurehoặcConnection refused. - Nguyên nhân: Bản ghi DNS của tên miền chưa được cập nhật chính xác về địa chỉ IP của VPS, hoặc cổng 80 đang bị chặn bởi tường lửa UFW/nhà cung cấp mạng.
- Cách xử lý: Dùng công cụ kiểm tra DNS (như lệnh
ping n8n.yourdomain.com) xem IP trả lời có đúng với IP máy chủ không. Kiểm tra tường lửa bằng lệnhsudo ufw statusxem cổng 80/tcp đã được mở ở chế độ Allow hay chưa.
Sự cố 3: Mất sạch workflow sau khi khởi động lại VPS hoặc container
- Triệu chứng: Mọi workflow tạo trước đó biến mất hoàn toàn, n8n yêu cầu thiết lập tài khoản ban đầu như một ứng dụng hoàn toàn mới.
- Nguyên nhân: Quên khai báo phần
volumes:trong tệpdocker-compose.yml, khiến dữ liệu nằm trực tiếp trong layer tạm thời của container và bị xóa bỏ khi container recreate. - Cách xử lý: Kiểm tra lại tệp cấu hình docker-compose, luôn đảm bảo thư mục dữ liệu
/home/node/.n8nđã được ánh xạ vào một Named Volume hoặc Bind Mount trên máy chủ.
Sự cố 4: Không thể khởi chạy Docker vì lỗi “Permission Denied”
- Triệu chứng: Thực hiện lệnh
docker compose upthì nhận thông báo lỗi từ chối kết nối tới Docker daemon socket. - Nguyên nhân: Tài khoản người dùng hiện tại chưa được cấp quyền truy cập vào socket điều khiển của Docker daemon.
- Cách xử lý: Chạy lệnh
sudo usermod -aG docker $USER, sau đó đăng xuất hoàn toàn phiên SSH và đăng nhập lại.
9. Quy trình cập nhật n8n lên phiên bản mới nhất an toàn
Đội ngũ phát triển n8n liên tục tung ra các bản cập nhật nhằm bổ sung các node mới, vá lỗ hổng bảo mật và nâng cấp tính năng AI agent. Khi triển khai bằng Docker Compose, quy trình nâng cấp diễn ra rất tinh gọn chỉ trong vài phút:
Di chuyển vào thư mục chứa cấu hình:
cd ~/n8n-docker
Kéo bản Docker image mới nhất về máy chủ:
docker compose pull
Khởi động lại container áp dụng phiên bản vừa tải về:
docker compose up -d
Dọn dẹp các tệp image cũ không còn sử dụng để giải phóng dung lượng ổ đĩa SSD:
docker image prune -f
Lưu ý: Để đảm bảo an toàn tối đa cho hệ thống đang phục vụ kinh doanh, hãy xuất (export) bản sao lưu workflow dưới dạng tệp JSON hoặc tạo snapshot máy chủ VPS trước khi thực hiện cập nhật phiên bản lớn.
10. Câu hỏi thường gặp (FAQ)
Cài n8n trên Ubuntu nên dùng phiên bản nào?
Phiên bản khuyến nghị là Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS. Đây là các phiên bản phát hành dài hạn (Long Term Support) có tính ổn định cao, tương thích tốt với kho mã nguồn của Docker Engine và liên tục được hỗ trợ cập nhật các bản vá an ninh hệ điều hành.
VPS dung lượng 1GB RAM có chạy ổn định n8n không?
VPS 1GB RAM có thể chạy được n8n cho mục đích học tập hoặc thử nghiệm quy trình đơn giản, với điều kiện bạn phải cấu hình tối thiểu 1GB đến 2GB bộ nhớ ảo (Swap). Tuy nhiên, khi vận hành quy trình có nhiều node AI hoặc tải tệp dữ liệu lớn, máy chủ 1GB RAM rất dễ gặp hiện tượng treo dịch vụ do cạn kiệt bộ nhớ.
Tự host n8n trên VPS có mất phí bản quyền không?
n8n cung cấp giấy phép sử dụng mã nguồn dạng Sustainable Use License. Bạn hoàn toàn có thể tự host miễn phí cho nhu cầu sử dụng nội bộ cá nhân hoặc doanh nghiệp mà không bị giới hạn số lượng workflow hay lượt execution. Bản quyền chỉ tính phí khi bạn bán n8n như một dịch vụ điện toán đám mây cho bên thứ ba.
Làm thế nào để sao lưu dữ liệu n8n trên Docker?
Dữ liệu của n8n mặc định sử dụng cơ sở dữ liệu SQLite nằm tại thư mục mount của Docker volume (/var/lib/docker/volumes/n8n-docker_n8n_data/_data). Bạn có thể sao chép tệp database.sqlite này sang máy tính khác, hoặc dùng lệnh n8n export:workflow --all ngay bên trong container để sao lưu định kỳ ra tệp JSON.
Nên cài đặt n8n qua npm hay dùng Docker?
Cài đặt qua Docker là phương án tối ưu hơn rất nhiều so với npm trực tiếp. Docker cách ly hoàn toàn môi trường thực thi, giúp bạn không bao giờ phải lo lắng về việc phiên bản Node.js trên máy chủ bị lỗi thời hoặc không tương thích, đồng thời quy trình sao lưu và nâng cấp diễn ra an toàn, gọn gàng.
Xây dựng hạ tầng tự động hóa quy trình ngay hôm nay
Thực hiện cài đặt n8n trên Ubuntu bằng Docker kết hợp Nginx Reverse Proxy và chứng chỉ SSL là phương thức triển khai chuẩn mực giúp hệ thống tự động hóa của bạn hoạt động bền bỉ, an toàn và tối đa hóa hiệu suất. Chỉ cần tuân thủ đúng các nguyên tắc cấu hình WebSocket và thiết lập tường lửa cẩn thận, bạn đã làm chủ hoàn toàn một hệ sinh thái workflow hiện đại mà không phụ thuộc vào bất kỳ nhà cung cấp dịch vụ đám mây tính phí đắt đỏ nào.
Cần máy chủ VPS ổn định để tự host n8n?
Khởi tạo VPS trang bị vi xử lý Intel Gold, ổ cứng SSD NVMe U.2 tốc độ cao, băng thông không giới hạn chỉ từ 50K/tháng tại Fast Byte.
Nội dung bài viết mang tính tham khảo kỹ thuật. Các câu lệnh và cấu hình trong tài liệu này được kiểm tra thực tế trên hệ điều hành Ubuntu 22.04 LTS — kết quả vận hành có thể thay đổi tùy thuộc vào phiên bản hệ điều hành, bản phân phối Docker, phiên bản phần mềm n8n và chính sách mạng của máy chủ. Bạn nên tiến hành sao lưu dữ liệu định kỳ và kiểm thử kỹ trên môi trường thử nghiệm trước khi áp dụng cho các quy trình làm việc trọng yếu trong thực tế.
