---
title: "Cài đặt N8N bằng docker"
description: "Hướng dẫn cài đặt N8N bằng docker, trên vps mới. Cài đặt nhanh chỉ từ 5 - 10 phút. Cấu hình dễ dàng, cài đặt SSL tự động cho tên miền của bạn"
featured_image: "https://legiang360.com/wp-content/uploads/2025/04/n8n-la-gi.webp"
url: "https://legiang360.com/cai-dat-n8n-bang-docker/"
date_modified: "2025-06-07T11:51:20+07:00"
---

# Cài đặt N8N bằng docker

![N8n la gi](https://legiang360.com/wp-content/uploads/2025/04/n8n-la-gi.webp)

# Cài đặt N8N bằng docker

- [sieunhim](https://legiang360.com/author/sieunhim/)
- 25.04.2025
- [N8N](https://legiang360.com/category/n8n/)

Chào các bạn, khi tìm đến bài này thì mình cũng không cần giới thiệu thêm về n8n nữa. Chúng ta vào thẳng vấn đề luôn. Cách cài đặt N8N bằng docker như thế nào. Cũng nhanh thôi, tầm 5 – 10 phút là xong

## 1. Yêu cầu:

Hôm nay bài này sẽ hướng dẫn trên vps mới hoàn toàn nhé. Yêu cầu như sau:

- Hệ điều hành: Debian 12 hoặc Ubuntu 22.04 hoặc Ubuntu 24.04
- RAM: Tối thiểu 1GB (đề xuất 2GB trở lên)
- CPU: Tối thiểu 1 core (đề xuất 2 core trở lên)
- Disk: Càng nhiều càng tốt, thực tế nó tốn disk không nhiều đâu

## 2. Cài đặt

### # Cài đặt docker và docker composer

Các bạn [đăng nhập vào SSH](https://doc.bnix.vn/huong-dan-su-dung-phan-mem-bitvise-de-ket-noi-vps/) chạy lệnh sau:

```
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo apt-get install docker-compose-plugin
```

### # Tạo file cấu hình docker composer

Các bạn chạy tiếp lệnh sau (Áp dụng trường hợp chúng ta muốn lưu trữ ở /home nhé):

```
mkdir /home/n8n
cd /home/n8n
nano docker-compose.yml
```

Sau đó điền nội dung sau đây vào

```
services:
  traefik:
    image: "traefik"
    restart: always
    command:
      - "--api=true"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
      - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - traefik_data:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)"
      - "traefik.http.routers.n8n.entrypoints=websecure"
      - "traefik.http.routers.n8n.tls=true"
      - "traefik.http.routers.n8n.tls.certresolver=mytlschallenge"
      - "traefik.http.services.n8n.loadbalancer.server.port=5678"
      - "traefik.http.middlewares.n8n-headers.headers.SSLRedirect=true"
      - "traefik.http.middlewares.n8n-headers.headers.STSSeconds=31536000"
      - "traefik.http.middlewares.n8n-headers.headers.browserXSSFilter=true"
      - "traefik.http.middlewares.n8n-headers.headers.contentTypeNosniff=true"
      - "traefik.http.middlewares.n8n-headers.headers.forceSTSHeader=true"
      - "traefik.http.middlewares.n8n-headers.headers.SSLHost=${DOMAIN_NAME}"
      - "traefik.http.middlewares.n8n-headers.headers.STSIncludeSubdomains=true"
      - "traefik.http.middlewares.n8n-headers.headers.STSPreload=true"
      - "traefik.http.routers.n8n.middlewares=n8n-headers@docker"
    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}
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  traefik_data:
    external: true
  n8n_data:
    external: true
```

### # Tạo file cấu hình tên miền

Ở đây chúng ta sẽ dùng file .env để cấu hình tên miền.

```
nano .env
```

Nội dung file:

```
SSL_EMAIL=email@gmail.com
SUBDOMAIN=n8n
DOMAIN_NAME=domain.com
GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
```

## 3. Khởi chạy n8n

Cấu hình vậy là xong rồi. Cuối cùng chạy lệnh sau để khởi động n8n

```
sudo docker compose up -d
```

> Lưu ý quan trọng: Bạn phải trỏ tên miền cần chạy về VPS trước khi chạy lệnh này. Do khởi tạo hệ thống sẽ tiến hành cài đặt SSL luôn, nên cần trỏ tên miền/ tên miền con về IP của VPS trước.

Sau khi khởi chạy thành công, các bạn truy cập trực tiếp vào tên miền của mình để thiết lập tài khoản admin và bắt đầu sử dụng nhé.

## 4. Cập nhật n8n

Để cập nhật n8n các bạn chạy lệnh sau:

```
cd /home/n8n
sudo docker compose pull
sudo docker compose down
sudo docker compose up -d
```

Chúc các bạn thực hiện thành công!

4.2/5 - (11 bình chọn)

#### Bài viết liên quan

[!\[Image\](https://legiang360.com/wp-content/uploads/2025/12/image.png)](https://legiang360.com/lo-hong-nghiem-trong-trong-n8n-cho-phep-tin-tac-kiem-soat-toan-bo-he-thong/)

#### [Lỗ hổng nghiêm trọng trong n8n cho phép tin tặc kiểm soát toàn bộ hệ thống](https://legiang360.com/lo-hong-nghiem-trong-trong-n8n-cho-phep-tin-tac-kiem-soat-toan-bo-he-thong/)

[!\[Robot tự động hóa trong dây chuyền sản xuất\](https://legiang360.com/wp-content/uploads/2025/09/Vai-tro-cua-Robot-cong-nghiep-trong-nha-kho-thong-minh-1-762x400-1.jpg)](https://legiang360.com/xu-huong-dot-pha-trong-tu-dong-hoa-ai-cach-no-thay-doi-cong-viec-hang-ngay/)

#### [Xu hướng đột phá trong tự động hóa AI: Cách nó thay đổi công việc hàng ngày](https://legiang360.com/xu-huong-dot-pha-trong-tu-dong-hoa-ai-cach-no-thay-doi-cong-viec-hang-ngay/)

[!\[Output1 290\](https://legiang360.com/wp-content/uploads/2025/08/output1-290-768x512.png)](https://legiang360.com/huong-dan-kich-hoat-va-lay-n8n-api-key-de-goi-cac-api-cua-n8n/)

#### [Hướng dẫn kích hoạt và lấy n8n API Key để gọi các API của n8n.](https://legiang360.com/huong-dan-kich-hoat-va-lay-n8n-api-key-de-goi-cac-api-cua-n8n/)

[!\[N8n la nen tang tu dong hoa ma nguon mo\](https://legiang360.com/wp-content/uploads/2025/05/n8n-la-nen-tang-tu-dong-hoa-ma-nguon-mo-768x427.jpg)](https://legiang360.com/cai-n8n-voi-postgresql/)

#### [Cài n8n với PostgreSQL](https://legiang360.com/cai-n8n-voi-postgresql/)

[!\[N8n la gi\](https://legiang360.com/wp-content/uploads/2025/04/n8n-la-gi-768x504.webp)](https://legiang360.com/cai-dat-n8n-tren-vps-ubuntu-debian/)

#### [Cài đặt n8n trên VPS Ubuntu/Debian](https://legiang360.com/cai-dat-n8n-tren-vps-ubuntu-debian/)

[!\[Backup restore\](https://legiang360.com/wp-content/uploads/2025/04/backup-restore-768x403.jpg)](https://legiang360.com/script-restore-backup-n8n/)

#### [Script restore backup n8n](https://legiang360.com/script-restore-backup-n8n/)

![](https://legiang360.com/wp-content/uploads/2026/05/photo_2026-05-27_01-59-38-630x630.jpg)
