N8N là công cụ tích hợp và tự động hóa phổ biến, giúp bạn xây dựng các workflow dễ dàng. Với Docker, việc triển khai trở nên nhanh chóng và linh hoạt hơn. Bài viết này sẽ hướng dẫn bạn cài đặt N8N trên Ubuntu 24.04, sử dụng PostgresDB để quản lý cơ sở dữ liệu và cài đặt Nginx làm reverse proxy. Đặc biệt, chúng ta cũng sẽ cấu hình N8N_ENCRYPTION_KEY để bảo mật dữ liệu. Hãy đảm bảo sao lưu dữ liệu trước khi bắt đầu!
Điều kiện tiên quyết để cài đặt N8N Docker trên Ubuntu 24.04
Trước khi bắt đầu, hãy chắc chắn rằng bạn có:
- Phiên bản Ubuntu 24.04 với quyền sudo hoặc root.
- Docker và Docker Compose được cài đặt. Nếu chưa, bạn có thể cài qua các lệnh sau:
# Cập nhật package và cài Docker
sudo apt update && sudo apt install -y docker.io docker-compose- DNS hoặc tên miền trỏ đến máy chủ nếu sử dụng Nginx.
- Một N8N_ENCRYPTION_KEY an toàn và đủ dài để mã hóa dữ liệu.
Nếu bạn cần giải pháp “Cloud Server” đáng tin cậy trong việc triển khai, tham khảo thêm tại Cloud Server.

Các bước triển khai N8N với Docker và PostgresDB
Bước 1: Tạo Docker Compose file
Bước này tạo file docker-compose.yml để quản lý container.
version: '3.8'
services:
postgres:
image: postgres:13
container_name: n8n-postgres
environment:
POSTGRES_USER: n8n_user
POSTGRES_PASSWORD: your_password
POSTGRES_DB: n8n_db
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: n8nio/n8n
container_name: n8n
environment:
DB_TYPE: postgres
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_PORT: 5432
DB_POSTGRESDB_DATABASE: n8n_db
DB_POSTGRESDB_USER: n8n_user
DB_POSTGRESDB_PASSWORD: your_password
N8N_ENCRYPTION_KEY: your_encryption_key
ports:
- 5678:5678
depends_on:
- postgres
volumes:
postgres_data:Hãy thay thế your_password và your_encryption_key bằng các giá trị thực tế. Sau đó, lưu file.
Bước 2: Khởi chạy Docker Compose
Chạy lệnh sau để khởi động các container:
sudo docker-compose up -dKhi hoàn tất, kiểm tra trạng thái để đảm bảo rằng cả hai container đều chạy ổn định.

Cài đặt Nginx làm reverse proxy
Bước 3: Cài đặt và cấu hình Nginx
Hãy cài đặt Nginx nếu chưa có:
sudo apt install -y nginxTiếp theo, tạo file cấu hình cho domain:
server {
listen 80;
server_name your_domain.com;
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;
}
}Thay your_domain.com bằng tên miền thực tế.
Bước 4: Kích hoạt cấu hình Nginx
sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginxBây giờ, bạn có thể truy cập N8N thông qua domain của mình.
Lỗi thường gặp khi cài đặt N8N
Lỗi: “Connection refused” khi kết nối PostgresDB
dial tcp: lookup postgres on 127.0.0.11:53: no such hostNguyên nhân: Container Postgres chưa được khởi động.
Cách xử lý: Chạy lại lệnh docker-compose up -d và kiểm tra container.
Lỗi: “502 Bad Gateway” khi truy cập N8N qua Nginx
Nguyên nhân: Nginx không kết nối được tới container N8N.
Cách xử lý: Kiểm tra file cấu hình Nginx và đảm bảo cổng 5678 hoạt động.
Xác nhận kết quả
Sau khi cài đặt thành công, chạy lệnh dưới đây để kiểm tra container:
sudo docker psCả hai container n8n và postgres phải ở trạng thái Up. Tiếp theo, truy cập ứng dụng qua tên miền để kiểm tra giao diện N8N.
Điểm nổi bật đáng nhớ
💡 Insight 1
Docker giúp tiết kiệm thời gian cấu hình, đặc biệt hữu ích cho môi trường DevOps.
💡 Insight 2
Cấu hình N8N_ENCRYPTION_KEY rất quan trọng để đảm bảo bảo mật dữ liệu nhạy cảm.
💡 Insight 3
Sử dụng Nginx làm reverse proxy hỗ trợ tăng hiệu suất và bảo vệ ứng dụng.
Kết luận
Với hướng dẫn trên, bạn đã hoàn thành việc triển khai N8N với PostgresDB, Nginx và Docker trên Ubuntu 24.04. Nếu cần hỗ trợ thêm hoặc muốn triển khai trên nền tảng Cloud chuyên nghiệp, hãy tham khảo tại IDCViet để khám phá thêm các dịch vụ Private Cloud.
Liên hệ ngay với đội ngũ của IDCViet qua:
idcviet.vn | 0913320866 | [email protected] để được tư vấn kỹ hơn!
