Phương pháp này giúp bạn mau chóng có được công cụ tự động hóa 8n8: dễ cài đặt, dễ backup.
Yêu cầu: VPS cài sẵn docker, docker compose và Nginx Proxy Manager.
Bắt đầu thôi:
- Tạo thư mục
n8n-composeđể lưu trữcompose.yamlvà.env. Có thể đổi tên thư mục khác tùy bạn
mkdir /otp/n8n-compose
cd n8n-compose
- Tạo tệp
compose.yamlvới nội dung sau
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
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_ENCRYPTION_KEY=<YOUR_N8N_ENCRYPTION_KEY>
volumes:
- n8n_data:/home/node/.n8n
- ./local-files:/files
networks:
- nginx-proxy-man
volumes:
n8n_data:
networks:
nginx-proxy-man:
external: true
- Cuối cùng là tệp
.envđể lưu các biến môi trường
# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from
# The top level domain to serve from
DOMAIN_NAME=example.com
# The subdomain to serve from
SUBDOMAIN=n8n
# The above example serve n8n at: https://n8n.example.com
# Optional timezone to set which gets used by Cron and other scheduling nodes
# New York is the default value if not set
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
# The email address to use for the TLS/SSL certificate creation
SSL_EMAIL=youremail@gmail.com
Đừng quên thay các biến trên bằng thông tin của bạn nhé.
Trong đó, YOUR_N8N_ENCRYPTION_KEY là khóa bạn tự tạo và lưu trữ nó (độ dài 32 ký tự). n8n sử dụng khóa đó để mã hóa thông tin đăng nhập. Nếu sử dụng khóa do n8n tạo, có thể bạn sẽ quên và khó kiểm soát hơn.
nginx-proxy-man đây chính là mạng chung (external) của nginx-proxy-man giúp nó giao tiếng với các container khác cùng mạng. Nếu chưa có thì tạo nhé: docker network create nginx-proxy-man
- Chạy container
docker compose up -d
Sau khi xây dựng container xong, bạn sẽ thấy có thư mục local-files
- Kết nối với Nginx proxy manager
docker compose ps
ở đầu ra của lệnh, sử dụng NAME làm tên kết nối, ví dụ của tôi là n8n-compose-n8n-1
Đăng nhập vào Nginxproxymanger và tạo một Proxy host với các trường như sau:
Domain Names: n8n.example.com
Scheme: http
Forward Hostname / IP: n8n-compose-n8n-1 # Tên của container
Forward Port: 5678
(SSL) SSL Certificate: Request a new SSl Certificate
Thay example.com là tên miền của bạn nhé
Nhấn nút Save và đợi một chút để NPM tạo SSL.
Sau khi hoàn thành bạn truy cập vào n8n của mình để tạo tài khoản Admin nhé.
PS: Nếu muốn cập nhật phiên bản mới hơn cho n8n, chỉ cần chạy:
cd n8n-compose
docker compose pull
docker compose up -d