การใช้งาน n8n (Workflow Automation Platform) แบบ Self-hosted กำลังเป็นที่นิยมมากขึ้นเรื่อย ๆ ในองค์กรที่ต้องการควบคุมข้อมูลอย่างเต็มที่ โดยเฉพาะในยุคที่ Data Privacy และ Cost Optimization กลายเป็นเรื่องสำคัญ การติดตั้ง n8n บน Cloud Server หรือ VM ของตัวเอง จะช่วยให้คุณ
- ไม่ต้องเสียค่ารายเดือนต่อ Workflow แบบที่เจอบน n8n Cloud
- เชื่อมต่อระบบหลังบ้านได้โดยตรง (เช่น Database, ERP, APIs)
- เลือก Region และความปลอดภัยที่เหมาะกับองค์กร
ในบทความนี้เราจะพาคุณติดตั้ง n8n แบบ Self-hosted ด้วย Docker (วิธีที่ได้รับความนิยมที่สุด) พร้อมคำแนะนำจากทีม THAI DATA CLOUD
ก่อนเริ่มติดตั้ง รู้จัก n8n และข้อดีของการ Self-hosted
n8n (pronounced “n-eight-n”) คือแพลตฟอร์ม Automation ที่ช่วยเชื่อมต่อแอปและบริการต่าง ๆ ผ่าน Visual Workflow Editor โดยมีจุดเด่นคือ Open Source และสามารถปรับแต่งได้เต็มที่เมื่อ Self-hosted
ข้อดีของการ Self-hosted n8n
- ควบคุมข้อมูล 100% ไม่มีข้อมูลออกไปยัง Cloud Server ของ n8n
- ไม่จำกัด Workflow ต่างจาก n8n Cloud ที่มีการจำกัดจำนวน executions
- ค่าใช้จ่ายคงที่ ไม่ต้องจ่ายตามจำนวน workflow หรือ active nodes
- ปรับแต่งได้เต็มที่ ติดตั้ง modules หรือ plugins เพิ่มเองได้
การเตรียมเครื่องก่อนติดตั้ง n8n
สิ่งที่ต้องมี
- Cloud Server หรือ VM (เช่น Ubuntu 20.04 LTS)
- Docker และ Docker Compose
- Domain Name (สำหรับ Reverse Proxy และ SSL)
- Email SMTP (ถ้าจะใช้ระบบแจ้งเตือน)
แนะนำสเปก Cloud Server ขั้นต่ำ
- 2 vCPU
- RAM 4 GB
- SSD 20 GB+
ขั้นตอนการติดตั้ง n8n แบบ Self-hosted ด้วย Docker
1. ติดตั้ง Docker และ Docker Compose
bash
CopyEdit
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y
2. สร้างไฟล์ docker-compose.yml
yaml
CopyEdit
version: '3.1'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=n8npass
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=strongpassword
volumes:
- ./n8n_data:/home/node/.n8n
db:
image: postgres:13
restart: always
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: n8npass
POSTGRES_DB: n8n
volumes:
- ./postgres_data:/var/lib/postgresql/data
2. สร้างไฟล์ docker-compose.yml
bash CopyEdit docker-compose up -dเปิดเบราว์เซอร์ไปที่ http://

หากคุณต้องการควบคุมทุกอย่าง และมีความรู้ด้าน DevOps ขั้นพื้นฐาน การ Self-hosted คือทางเลือกที่ “คุ้มกว่า” ทั้งระยะสั้น และระยะยาว