1. Cài Docker + Docker Compose
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker
2. Tạo thư mục chạy n8n
mkdir -p ~/n8n
cd ~/n8n
3. Tạo file docker-compose.yml
nano docker-compose.yml
Dán vào:
version: "3"services:
n8n:
image: n8nio/n8n
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- N8N_PROTOCOL=http
- NODE_ENV=production
# Thêm tài khoản đăng nhập
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=123456
# cookie bảo mật (HTTPS)
- N8N_SECURE_COOKIE=false
volumes:
- ./data:/home/node/.n8n
4. Chạy n8n
docker-compose up -d
5. Truy cập
Mở trình duyệt:
http://IP-SERVER:5678
🌐 Nếu bạn dùng Cloudflare Tunnel (như setup bạn đang có)
Bạn chỉ cần map domain vào:
http://localhost:5678
Ví dụ:
n8n.no1vn.io.vn → http://192.168.x.x:5678
🌐 LƯU Ý FIX LỖI:
Error: EACCES: permission denied, open '/home/node/.n8n/config'
👉 Nghĩa là:
n8n không có quyền ghi file vào thư mục data
📌 => container crash → restart liên tục → bạn không truy cập được
✅ Cách fix (chuẩn 100%)
🔧 Bước 1: dừng container
docker-compose down
🔧 Bước 2: fix quyền thư mục
sudo chown -R 1000:1000 ~/n8n/data
sudo chmod -R 755 ~/n8n/data
👉 Giải thích:
n8n chạy bằng user node (UID 1000)
thư mục bạn đang mount thuộc root → bị từ chối ghi
🔧 Bước 3: chạy lại
docker-compose up -d
🔧 Bước 4: kiểm tra
docker ps
👉 Nếu thấy:
Up xx seconds
→ OK
🚀 Test lại
Trên server:
curl http://localhost:5678
Trên trình duyệt:
http://IP-UBUNTU:5678
