เทมเพลต Docker Compose สำหรับ n8n + AI + เครื่องมือประกอบ
เลือกใช้งานได้หลายรูปแบบตามความต้องการ
- n8n: ระบบอัตโนมัติและการจัดการเวิร์กโฟลว์
- Ollama: LLM (Large Language Model) สำหรับการประมวลผลภาษา
- Qdrant: ฐานข้อมูลเวกเตอร์ (Vector Database) สำหรับการจัดเก็บและค้นหาข้อมูล
- Redis: ระบบจัดการแคชและคิว
- MinIO: ระบบจัดเก็บข้อมูลแบบ S3-compatible
- PGVector/Postgres: ฐานข้อมูลเชิงสัมพันธ์
- PgAdmin: UI สำหรับจัดการ PostgreSQL
- Cloudflared: เชื่อมต่อกับ Cloudflare Tunnel
- RedisInsight: UI สำหรับจัดการ Redis
แต่ละโหมดเหมาะกับการใช้งานที่แตกต่างกัน:
- โหมดที่ 1 (
docker-compose.yml): เหมาะสำหรับผู้เริ่มต้นหรือทดลองใช้งาน n8n + vector database แบบเบา ๆ ไม่ต้องการ LLM ใน container เหมาะกับการเรียนรู้หรือทดสอบฟีเจอร์พื้นฐาน- โหมดที่ 2 (
docker-compose-ollama.yml): เหมาะกับผู้ที่ต้องการใช้งาน LLM (Ollama) ใน container เดียวกันกับ n8n สะดวกสำหรับการทดลอง AI workflow แบบครบวงจรในเครื่องเดียว- โหมดที่ 3 (
docker-compose-full.yml): แนะนำสำหรับการใช้งานจริง/องค์กร (on premise/production) เพราะมีบริการเสริมครบถ้วน (Redis, MinIO ฯลฯ) รองรับงาน production, ปรับแต่งและควบคุมบริการต่าง ๆ ได้อิสระ, สามารถแยก Ollama ออกไปติดตั้งบนเครื่องอื่นหรือคลัสเตอร์ได้ง่าย เหมาะกับการเก็บข้อมูลภายในองค์กรและขยายระบบในอนาคต
- บริการ:
- n8n (workflow automation)
- PostgreSQL (database)
- PgAdmin (UI จัดการ postgres)
- Qdrant (vector database)
- Cloudflared (Cloudflare tunnel)
- ไม่มี Ollama
- เหมาะสำหรับ: ทดลอง n8n + vector DB, ไม่ต้องการ LLM ใน container
ข้อดีของโหมดนี้:
- เหมาะสำหรับผู้เริ่มต้นหรือผู้ที่ต้องการทดลองใช้งาน n8n และ vector database ได้อย่างรวดเร็ว
- ใช้งานง่าย ไม่ซับซ้อน บริการน้อย ดูแลรักษาง่าย
- เหมาะกับการเรียนรู้ ทดสอบ หรือสาธิตฟีเจอร์พื้นฐาน
- ใช้ทรัพยากรเครื่องน้อย เหมาะกับเครื่องสเปกต่ำหรือ dev environment
เริ่มต้น:
git clone https://github.com/racksync/workshop-ai.git
cd workshop-ai/hands-on/n8n-services
docker compose up -d- บริการ:
- n8n, postgres, pgadmin, qdrant, cloudflared
- Ollama (เลือก profile: cpu/gpu/gpu-amd)
- n8n-import (import credentials/workflows อัตโนมัติ)
- เหมาะสำหรับ: ต้องการรัน LLM (Ollama) ใน container เดียวกัน
ข้อดีของโหมดนี้:
- ติดตั้งและใช้งาน LLM (Ollama) ได้ใน container เดียวกับ n8n สะดวกและรวดเร็ว
- เหมาะกับการทดลอง AI workflow แบบครบวงจรในเครื่องเดียว
- รองรับทั้ง CPU และ GPU (Nvidia/AMD) เลือก profile ได้ตามเครื่อง
- ลดขั้นตอนการตั้งค่า Ollama แยกต่างหาก เหมาะกับ dev/test/demo
ตัวอย่างการรัน:
- CPU:
docker compose -f docker-compose-ollama.yml --profile cpu up -d
- Nvidia GPU:
docker compose -f docker-compose-ollama.yml --profile gpu-nvidia up -d
- AMD GPU:
docker compose -f docker-compose-ollama.yml --profile gpu-amd up -d
- บริการ:
- n8n, pgvector, pgadmin, qdrant, cloudflared
- Redis (cache/queue)
- RedisInsight (UI จัดการ redis)
- MinIO (S3-compatible object storage)
- ไม่มี Ollama ในตัว (ต้องรัน Ollama แยกเอง หรือใช้ Ollama บน host)
- เหมาะสำหรับ: สภาพแวดล้อมครบเครื่อง, เชื่อมต่อ Ollama ภายนอก
ข้อดีของโหมดนี้ (on premise/production):
- เหมาะกับการใช้งานในองค์กรหรือ production ที่ต้องการความเสถียรและความปลอดภัย
- มีบริการเสริมครบถ้วน (Redis, MinIO ฯลฯ) รองรับงานจริงและการขยายระบบ
- ปรับแต่งและควบคุมบริการต่าง ๆ ได้อิสระ
- สามารถแยก Ollama ออกไปติดตั้งบนเครื่องอื่นหรือคลัสเตอร์ได้ง่าย
- เหมาะกับการใช้งาน on premise ที่ต้องการเก็บข้อมูลภายในองค์กร
ตัวอย่างการรัน (CPU):
docker compose -f docker-compose-full.yml up -dหากต้องการใช้ Ollama ให้ติดตั้ง Ollama บนเครื่อง หรือรัน container Ollama แยกต่างหาก
จากนั้นตั้งค่าOLLAMA_HOSTใน.envหรือ environment variable ให้ชี้ไปที่ Ollama instance ที่ต้องการ
- Ollama ใน container: ใช้
docker-compose-ollama.ymlพร้อม profile ที่ต้องการ - Ollama บน host (เช่น Mac/Windows):
- ติดตั้ง Ollama ดูวิธีที่นี่
- ตั้งค่า
OLLAMA_HOST=host.docker.internal:11434(ค่าดีฟอลต์ใน compose รองรับแล้ว) - รัน n8n ด้วย compose ปกติหรือ full
- n8n: http://localhost:5678/
- PgAdmin: http://localhost:5050/ (user/pass ดูใน
.env) - Qdrant: http://localhost:6333/
- RedisInsight: http://localhost:5540/ (เฉพาะ full)
- MinIO: http://localhost:9000/ (เฉพาะ full, UI: http://localhost:9001/)
- อัปเดตบริการ:
(เปลี่ยนชื่อไฟล์ compose ตามที่ใช้งาน)
docker compose -f docker-compose-full.yml pull docker compose -f docker-compose-full.yml up -d
./n8n_data: ข้อมูล workflow n8n./shared: โฟลเดอร์แชร์ไฟล์เข้า workflow (mount ที่/data/shared)./qdrant_data,./redis_data,./minio_data: ข้อมูลบริการประกอบ
- AI agents สำหรับนักพัฒนา: จากทฤษฎีสู่การปฏิบัติด้วย n8n
- บทแนะนำ: สร้างเวิร์กโฟลว์ AI ใน n8n
- แนวคิด Langchain ใน n8n
- ฐานข้อมูลเวกเตอร์คืออะไร?
- ถาม-ตอบและพูดคุย: n8n Forum
โปรเจกต์นี้อยู่ภายใต้ Apache License 2.0 - ดูไฟล์ LICENSE สำหรับรายละเอียด
