Bạn có biết rằng mình có thể vận hành một hệ thống n8n hoạt động 24/7 hoàn toàn miễn phí mà không tốn một xu nào không? Trước đây, khi mới bắt đầu tìm hiểu về automation (tự động hóa), tôi thường chạy n8n ngay trên máy tính cá nhân (localhost). Tuy nhiên, cách này có một nhược điểm chí mạng: máy tính của bạn phải bật liên tục 24/7, điều này vừa hại máy vừa tốn điện.
Sau một thời gian tìm tòi và thử nghiệm, tôi đã tìm ra giải pháp tối ưu nhất: Cài đặt n8n miễn phí trên Google Cloud Platform (GCP). Với gói "Always Free" của Google, bạn có thể sở hữu một server riêng để chạy các quy trình tự động hóa của mình mọi lúc mọi nơi. Trong bài viết này, tôi sẽ hướng dẫn bạn từng bước chi tiết để thiết lập hệ thống này.
Tại sao chọn Google Cloud để host n8n?
Khi nói đến việc tìm kiếm một server miễn phí trọn đời (lifetime), Google Cloud Platform là một trong những ứng cử viên sáng giá nhất. Trước khi đi vào kỹ thuật, hãy cùng xem qua những gì chúng ta nhận được từ gói miễn phí này để đảm bảo bạn không bị tính phí oan.

Theo tài liệu chính thức của Google Cloud về gói "Free Tier", chúng ta được cung cấp:
- Máy ảo (VM Instance): Loại E2-micro.
- Vị trí (Region): Một trong ba khu vực ở Mỹ: Oregon (us-west1), Iowa (us-central1), hoặc South Carolina (us-east1).
- Lưu trữ: 30GB dung lượng đĩa (Standard persistent disk).
Đây là cấu hình vừa đủ để chạy một instance n8n cho nhu cầu cá nhân hoặc các tác vụ tự động hóa vừa và nhỏ. Bây giờ, hãy bắt tay vào thực hiện.
Bước 1: Khởi tạo Project và Virtual Machine trên GCP
Đầu tiên, bạn cần truy cập vào cloud.google.com/free và đăng nhập bằng tài khoản Google của mình. Nếu đây là lần đầu tiên, bạn cần thiết lập tài khoản thanh toán (Billing). Đừng lo lắng, Google yêu cầu thẻ visa/mastercard để xác minh bạn là người dùng thật chứ không phải bot, họ sẽ không trừ tiền nếu bạn sử dụng trong hạn mức miễn phí.
Tạo Project mới
Trong giao diện Google Cloud Console:
- Nhấn vào menu chọn Project ở góc trên bên trái.
- Chọn New Project.
- Đặt tên cho Project (ví dụ:
n8n-automation) và nhấn Create.
Thiết lập Compute Engine (Quan trọng)
Đây là bước quan trọng nhất để đảm bảo bạn nằm trong gói miễn phí. Hãy làm theo chính xác các thông số sau:
- Từ menu bên trái, chọn Compute Engine > VM instances.
- Nhấn Create Instance.
- Name: Đặt tên cho server (ví dụ:
n8n-server). - Region: Chọn 1 trong 3 region miễn phí (tôi thường chọn
us-west1hoặcus-central1). - Machine configuration:
- Series: Chọn E2.
- Machine type: Chọn e2-micro (2 vCPU, 1 GB memory). Lưu ý: Bạn phải chọn đúng loại này để được miễn phí.
- Boot disk:
- Nhấn Change.
- Operating System: Chọn Ubuntu (hoặc Debian/Linux tùy sở thích, tôi khuyên dùng Ubuntu để dễ cài đặt).
- Size (GB): Đổi từ 10 thành 30. Chúng ta được miễn phí tới 30GB, hãy tận dụng hết mức này.
- Nhấn Select.
- Firewall: Tích chọn cả 2 ô:
- Allow HTTP traffic.
- Allow HTTPS traffic.
- Advanced options (Networking, Disks, Security...):
- Mở phần Management.
- Tìm phần Snapshot schedule và đảm bảo không chọn gì cả (hoặc tắt nó đi). Snapshot (sao lưu tự động) có thể tính phí, nên để tiết kiệm tối đa, chúng ta sẽ tự quản lý dữ liệu.
Sau khi kiểm tra kỹ các thông tin, nhấn Create. Sẽ mất khoảng 1-2 phút để server khởi tạo.
Bước 2: Cấu hình Mạng và Địa chỉ IP Tĩnh
Để website n8n của bạn hoạt động ổn định và có thể trỏ tên miền về, chúng ta cần một địa chỉ IP không thay đổi (Static IP).
- Trong menu bên trái, tìm đến VPC network > IP addresses.
- Bạn sẽ thấy IP của server vừa tạo đang ở chế độ
Ephemeral. Nhấn vào dấu 3 chấm hoặc nút Reserve external static IP address. - Đặt tên (ví dụ:
n8n-static-ip) và gắn nó vào instancen8n-serverbạn vừa tạo. - Nhấn Reserve.
Bây giờ server của bạn đã có một địa chỉ IP cố định. Hãy copy địa chỉ IP này.
Mở Port (Firewall Rules)
Mặc dù n8n chạy mặc định ở port 5678, nhưng lát nữa chúng ta sẽ cấu hình để nó chạy qua giao thức HTTPS (port 443) và HTTP (port 80). Bước chọn "Allow HTTP/HTTPS traffic" khi tạo máy ảo đã cơ bản giải quyết việc này. Tuy nhiên, để chắc chắn cho việc cài đặt ban đầu, bạn có thể tạo thêm rule cho phép truy cập tất cả (hoặc giới hạn sau).
Vào VPC network > Firewall, tạo một rule mới tên là global-access, đặt Targets là "All instances in the network", Source IPv4 ranges là 0.0.0.0/0, và Protocols and ports chọn "Allow all" hoặc chỉ định tcp: 80, 443, 5678.
Bước 3: Trỏ Tên Miền (Domain)
Để truy cập n8n chuyên nghiệp và bảo mật hơn (có ổ khóa SSL), bạn cần một tên miền.
- Truy cập vào trang quản lý tên miền của bạn (Namecheap, GoDaddy, v.v.).
- Vào phần Advanced DNS.
- Tạo một A Record:
- Host:
n8n(để tạo subdomainn8n.tenmien.com) hoặc@(nếu dùng tên miền chính). - Value: Dán địa chỉ Static IP bạn vừa copy ở bước trên.
- TTL: Automatic hoặc 1 min.
- Host:
- Lưu lại. Thường mất vài phút để DNS cập nhật.
Bước 4: Cài đặt Docker và Môi trường Server
Bây giờ hãy quay lại Google Cloud Console, tại danh sách VM instances, nhấn vào nút SSH ở dòng server của bạn. Một cửa sổ terminal sẽ hiện ra. Chúng ta sẽ thực hiện các lệnh cài đặt tại đây.
Cài đặt Docker
n8n chạy tốt nhất trên Docker. Hãy chạy lần lượt các lệnh sau để cài đặt Docker vào server Ubuntu của bạn:
# Cập nhật danh sách gói
sudo apt-get update
# Cài đặt các gói cần thiết
sudo apt-get install ca-certificates curl gnupg lsb-release
# Thêm GPG key của Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Thiết lập repository
echo "deb [arch=$(dpkg --print-architecture) 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
Sau khi cài xong, hãy kiểm tra bằng lệnh docker --version để chắc chắn Docker đã sẵn sàng.
Cài đặt Docker Compose
Chúng ta sẽ dùng Docker Compose để quản lý n8n dễ dàng hơn.
sudo apt-get install docker-compose-plugin
Kiểm tra bằng lệnh: docker compose version.
Bước 5: Cấu hình Reverse Proxy và SSL với Nginx & Certbot
Để n8n chạy mượt mà trên HTTPS, chúng ta sẽ sử dụng Nginx làm Reverse Proxy.
Cài đặt Nginx
sudo apt install nginx
Cấu hình Nginx cho n8n
Tạo một file cấu hình mới cho site n8n:
sudo nano /etc/nginx/sites-available/n8n
Dán nội dung sau vào (nhớ thay n8n.tenmiencuaban.com bằng tên miền thực tế của bạn):
server {
listen 80;
server_name n8n.tenmiencuaban.com;
location / {
proxy_pass http://localhost:5678;
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_cache off;
}
}
Nhấn Ctrl + X, chọn Y và Enter để lưu.
Kích hoạt cấu hình:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Cài đặt SSL (HTTPS) với Certbot
Để có ổ khóa bảo mật xanh lè trên trình duyệt, chúng ta dùng Certbot:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d n8n.tenmiencuaban.com
Làm theo hướng dẫn trên màn hình (nhập email, đồng ý điều khoản). Certbot sẽ tự động cấu hình SSL cho bạn.
Bước 6: Chạy n8n với Docker Compose
Đây là bước cuối cùng để đưa "bộ não" n8n vào hoạt động. Chúng ta sẽ tạo một thư mục riêng để chứa các file cấu hình.
mkdir n8n-docker
cd n8n-docker
Tạo file .env
File này chứa các biến môi trường quan trọng.
nano .env
Nội dung file .env:
DOMAIN_NAME=n8n.tenmiencuaban.com
SUBDOMAIN=n8n
[email protected]
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
Lưu file lại (Ctrl+X, Y, Enter).
Tạo file docker-compose.yml
nano docker-compose.yml
Dán nội dung sau:
version: '3'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Lưu file lại.
Khởi chạy
Bây giờ, hãy gõ lệnh thần thánh để khởi động mọi thứ:
sudo docker compose up -d
Lệnh này sẽ tải image n8n về và chạy nó dưới nền (detached mode).
Kiểm tra và Hoàn tất
Sau khi Docker báo "Started", hãy mở trình duyệt và truy cập vào tên miền của bạn: https://n8n.tenmiencuaban.com.
Nếu mọi thứ suôn sẻ, bạn sẽ thấy giao diện thiết lập tài khoản chủ sở hữu (Owner account) của n8n. Hãy điền thông tin email, mật khẩu để tạo tài khoản admin.
Mẹo kiểm tra:
Để chắc chắn hệ thống hoạt động ngon lành, hãy thử tạo một workflow đơn giản:
- Kéo node Webhook.
- Chọn method là GET, path là
test. - Nối với node Respond to Webhook.
- Cấu hình node Respond trả về dòng text: "Hệ thống n8n trên Google Cloud hoạt động tốt!".
- Nhấn Execute Workflow.
- Copy URL sản phẩm (Production URL) của webhook và dán vào tab trình duyệt mới. Nếu thấy dòng text trả về, xin chúc mừng, bạn đã thành công!
Kết luận
Vậy là chỉ với vài bước kỹ thuật, bạn đã sở hữu một server n8n mạnh mẽ, hoạt động 24/7 và quan trọng nhất là hoàn toàn miễn phí trên hạ tầng của Google Cloud.
Từ kinh nghiệm sử dụng thực tế của tôi trong vài tháng qua, cấu hình E2-micro với 30GB ổ cứng là đủ để chạy các tác vụ automation cơ bản như đồng bộ dữ liệu, chatbot, hay quản lý email marketing. Tuy nhiên, do RAM chỉ có khoảng 1GB, đôi khi server có thể hơi lag nếu bạn chạy quá nhiều workflow nặng cùng lúc.
Đây là bước khởi đầu tuyệt vời để bạn bước chân vào thế giới "Rabbit Hole" của AI và Automation mà không tốn chi phí hạ tầng. Hãy tận dụng nó để xây dựng những workflow thông minh cho công việc và doanh nghiệp của bạn.
Chúc bạn cài đặt thành công và có những trải nghiệm thú vị với n8n!