– reboot
– cập nhật
sudo apt update
sudo apt upgrade -y
– Đảm bảo đã cài docker theo hướng dẫn tại đây:
– Tạo thư mục, di chuyển tới thư mục và tạo file docker-compose.yml
sudo mkdir -p /apps/n8n && cd /apps/n8n && sudo nano docker-compose.yml
– Copy nội dung sau vào file:
services:
# Dịch vụ PostgreSQL
postgres:
image: postgres:15-alpine
container_name: n8n_postgres
env_file:
– .env
environment:
– POSTGRES_DB=${DB_POSTGRES_DATABASE}
– POSTGRES_USER=${DB_POSTGRES_USER}
– POSTGRES_PASSWORD=${DB_POSTGRES_PASSWORD}
volumes:
– postgres_data:/var/lib/postgresql/data
restart: unless-stopped
networks:
– n8n-network
# Dịch vụ n8n
n8n:
image: n8nio/n8n:latest
container_name: n8n
env_file:
– .env
environment:
# Cấu hình PostgreSQL
– DB_TYPE=postgresdb
– DB_POSTGRESDB_HOST=postgres
– DB_POSTGRESDB_PORT=5432
– DB_POSTGRESDB_DATABASE=${DB_POSTGRES_DATABASE}
– DB_POSTGRESDB_USER=${DB_POSTGRES_USER}
– DB_POSTGRESDB_PASSWORD=${DB_POSTGRES_PASSWORD}
# Cấu hình cho webhook với Cloudflare Tunnel
– N8N_PROTOCOL=${N8N_PROTOCOL}
– N8N_HOST=${N8N_HOST}
– WEBHOOK_URL=${BASE_URL}
# Bật MCP trong AI Agents
– N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
# Option
– GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
– N8N_RUNNERS_ENABLED=true
ports:
– “${N8N_PORT}:5678” # Mở port ra host
volumes:
– n8n_data:/home/node/.n8n
depends_on:
– postgres
restart: unless-stopped
networks:
– n8n-network
networks:
n8n-network:
name: n8n-network
driver: bridge
volumes:
n8n_data:
postgres_data:
– Lưu lại bằng cách ấn đồng thời Ctrl + X, sau đó nhập y và ấn Enter.
– Tạo file biến môi trường .env:
nano .env
# PUBLIC
N8N_PORT=5678
N8N_HOST=n8n.homestayocean.vn
N8N_PROTOCOL=https
BASE_URL=https://n8n.homestayocean.vn/
# DATABASE (POSTGRESQL)
DB_POSTGRES_DATABASE=n8n_dbs
DB_POSTGRES_USER=n8n_userss
DB_POSTGRES_PASSWORD=n8n_passwords
# OPTION
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
=> Thay tên miền của bạn vào N8N_HOST và BASE_URL cho phù hợp.
– Khởi chạy bằng docker compose:
docker compose up -d