Dựa trên video hướng dẫn của Minh – AI & Automation
Bạn đang muốn tự động hóa công việc nhưng lại đau đầu với việc cài đặt n8n? Mình hiểu cảm giác đó lắm!
n8n là một nền tảng tự động hóa cực kỳ mạnh mẽ và hoàn toàn miễn phí. Tuy nhiên, quy trình cài đặt đôi khi hơi phức tạp một chút. Vậy nên mình quyết định tóm tắt lại toàn bộ quá trình này để bạn có thể follow theo một cách dễ dàng nhất nhé!
Nội Dung Chính
Chuẩn bị Domain và VPS
Trước khi bắt đầu, bạn sẽ cần hai thứ chính: một tên miền và một VPS để chạy n8n. Trong video này, anh Minh sử dụng dịch vụ của Vietnix vì giá cả phải chăng và hỗ trợ tốt.
Yêu cầu hệ thống:
- VPS tối thiểu 4GB RAM (khuyến khích 6GB+ để hoạt động mượt mà)
- Hệ điều hành Ubuntu Server 22.04 x64
- Một tên miền để tạo subdomain
Ý Kiến Của Mình:
Nếu bạn mới bắt đầu, VPS 6GB RAM thực sự đủ để chạy n8n cùng với vài workflow khác. Đừng lo lắng quá về cấu hình nhé!
Kết nối VPS qua SSH
Sau khi đăng ký VPS xong, bạn sẽ nhận được email chứa thông tin truy cập: IP address, username (thường là root), password và port SSH.
Bước kết nối:
- Tải và cài đặt PuTTY (phần mềm SSH miễn phí)
- Nhập IP address của VPS vào PuTTY
- Đăng nhập với username “root” và password từ email
- Lưu ý: Khi paste password, màn hình sẽ không hiển thị gì nhưng đã nhập rồi đó!
Ý Kiến Của Mình:
Nhiều bạn newbie hay hoang mang khi paste password mà không thấy gì hiện ra. Đừng lo, Ubuntu desktop mode là vậy đó. Cứ paste xong rồi ấn Enter thôi nhé!
Cài đặt Docker và Docker Compose
n8n sẽ chạy trên Docker, nên chúng ta cần cài đặt Docker và Docker Compose trước tiên.
# Gỡ bỏ Docker cũ (nếu có)
sudo apt-get remove docker docker-engine docker.io containerd runc
# Cập nhật package list
sudo apt-get update
# Cài đặt các package cần thiết
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
# Thêm Docker's official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Thêm Docker repository
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Cài đặt Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# Cài đặt Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Ý Kiến Của Mình:
Copy từng dòng lệnh và chạy từng cái một nhé. Đừng rush, để hệ thống cài đặt từ từ cho chắc ăn!
Cấu hình DNS và Domain
Trước khi cài n8n, chúng ta cần tạo subdomain để trỏ về VPS của mình.
Các bước cấu hình DNS:
- Vào trang quản lý DNS của nhà cung cấp domain
- Tạo DNS record loại A
- Đặt tên subdomain (ví dụ: n8n)
- Point to IP address của VPS
- Lưu thay đổi và đợi DNS propagate
Ý Kiến Của Mình:
DNS thường mất 5-15 phút để propagate. Đừng vội vàng nếu subdomain chưa hoạt động ngay lập tức nhé!
Setup n8n với Docker Compose
Bây giờ đến phần chính – tạo file cấu hình để chạy n8n!
# Tạo file docker-compose.yml
nano docker-compose.yml
Sau đó paste nội dung này vào file:
version: '3.8'
services:
traefik:
image: traefik:v2.10
command:
- --api=true
- --api.insecure=true
- --api.dashboard=true
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.websecure.address=:443
- --entrypoints.web.address=:80
- --certificatesresolvers.mytlschallenge.acme.tlschallenge=true
- --certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}
- --certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./letsencrypt:/letsencrypt
n8n:
image: n8nio/n8n
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- N8N_DEFAULT_BINARY_DATA_MODE=filesystem
- N8N_BINARY_DATA_TTL=168
- N8N_METRICS=true
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.n8n.tls=true
- traefik.http.routers.n8n.entrypoints=websecure
- traefik.http.routers.n8n.tls.certresolver=mytlschallenge
- traefik.http.middlewares.n8n.headers.SSLRedirect=true
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true
- traefik.http.middlewares.n8n.headers.SSLHost=${SUBDOMAIN}.${DOMAIN_NAME}
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.n8n.headers.STSPreload=true
volumes:
- ./n8n_data:/home/node/.n8n
depends_on:
- traefik
Tiếp theo, tạo file environment variables:
# Tạo file .env
nano .env
# Thông tin domain
DOMAIN_NAME=yourdomain.com
SUBDOMAIN=n8n
# Múi giờ
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
# Email để đăng ký SSL
SSL_EMAIL=your-email@example.com
# Cài đặt binary data
N8N_DEFAULT_BINARY_DATA_MODE=filesystem
N8N_BINARY_DATA_TTL=168
Lưu ý quan trọng:
- Thay your-email@example.com bằng email thật của bạn
- Thay yourdomain.com bằng domain thật của bạn
- Subdomain n8n sẽ tạo URL: n8n.yourdomain.com
# Tạo thư mục lưu trữ data
mkdir n8n_data
mkdir letsencrypt
Khởi chạy và cấu hình n8n
Cuối cùng, chúng ta sẽ khởi chạy n8n và setup tài khoản admin!
# Khởi chạy n8n
sudo docker-compose up -d
# Kiểm tra status
sudo docker-compose ps
# Xem logs (nếu cần)
sudo docker-compose logs -f
Các lệnh hữu ích:
sudo docker-compose stop
– Dừng n8nsudo docker-compose pull
– Cập nhật lên version mớisudo docker-compose restart
– Restart dịch vụ
Sau khi khởi chạy thành công, mở trình duyệt và truy cập vào https://n8n.yourdomain.com (thay bằng domain thật của bạn).
Setup tài khoản admin:
- Điền email, username và password (tối thiểu 8 ký tự, có chữ hoa và số)
- Tài khoản đầu tiên sẽ tự động là admin
- Nhập email để nhận license key miễn phí
- Check email và copy license key
- Vào Settings > Usage and Plan > Enter activation key
- Paste key và ấn Activate
Ý Kiến Của Mình:
License key sẽ giúp bạn sử dụng đầy đủ tính năng của n8n, bao gồm webhook HTTPS. Đừng quên activate nhé!