https://github.com/racksync/workshop-n8n
n8n docker compose stack
https://github.com/racksync/workshop-n8n
Last synced: 2 months ago
JSON representation
n8n docker compose stack
- Host: GitHub
- URL: https://github.com/racksync/workshop-n8n
- Owner: racksync
- Created: 2025-05-15T07:04:31.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-05-24T14:02:43.000Z (11 months ago)
- Last Synced: 2025-06-30T13:50:17.223Z (10 months ago)
- Size: 3.79 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ชุดเริ่มต้น AI แบบโฮสต์เอง (n8n-services)
**เทมเพลต 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 ออกไปติดตั้งบนเครื่องอื่นหรือคลัสเตอร์ได้ง่าย เหมาะกับการเก็บข้อมูลภายในองค์กรและขยายระบบในอนาคต
### 1. `docker-compose.yml` (โหมดเบา/พื้นฐาน)
- **บริการ:**
- 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
**เริ่มต้น:**
```bash
git clone https://github.com/racksync/workshop-ai.git
cd workshop-ai/hands-on/n8n-services
docker compose up -d
```
---
### 2. `docker-compose-ollama.yml` (โหมด AI ครบวงจร + Ollama ใน container)
- **บริการ:**
- 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:**
```bash
docker compose -f docker-compose-ollama.yml --profile cpu up -d
```
- **Nvidia GPU:**
```bash
docker compose -f docker-compose-ollama.yml --profile gpu-nvidia up -d
```
- **AMD GPU:**
```bash
docker compose -f docker-compose-ollama.yml --profile gpu-amd up -d
```
---
### 3. `docker-compose-full.yml` (โหมด production-like ครบเครื่อง)
- **บริการ:**
- 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):**
```bash
docker compose -f docker-compose-full.yml up -d
```
> หากต้องการใช้ Ollama ให้ติดตั้ง Ollama บนเครื่อง หรือรัน container Ollama แยกต่างหาก
> จากนั้นตั้งค่า `OLLAMA_HOST` ใน `.env` หรือ environment variable ให้ชี้ไปที่ Ollama instance ที่ต้องการ
---
## การเชื่อมต่อ Ollama (LLM)
- **Ollama ใน container:** ใช้ `docker-compose-ollama.yml` พร้อม profile ที่ต้องการ
- **Ollama บน host (เช่น Mac/Windows):**
- ติดตั้ง Ollama [ดูวิธีที่นี่](https://ollama.com/)
- ตั้งค่า `OLLAMA_HOST=host.docker.internal:11434` (ค่าดีฟอลต์ใน compose รองรับแล้ว)
- รัน n8n ด้วย compose ปกติหรือ full
---
## การเข้าถึงบริการ
- **n8n:** [http://localhost:5678/](http://localhost:5678/)
- **PgAdmin:** [http://localhost:5050/](http://localhost:5050/) (user/pass ดูใน `.env`)
- **Qdrant:** [http://localhost:6333/](http://localhost:6333/)
- **RedisInsight:** [http://localhost:5540/](http://localhost:5540/) (เฉพาะ full)
- **MinIO:** [http://localhost:9000/](http://localhost:9000/) (เฉพาะ full, UI: [http://localhost:9001/](http://localhost:9001/))
---
## การอัปเกรด
- **อัปเดตบริการ:**
```bash
docker compose -f docker-compose-full.yml pull
docker compose -f docker-compose-full.yml up -d
```
(เปลี่ยนชื่อไฟล์ compose ตามที่ใช้งาน)
---
## โฟลเดอร์ข้อมูล
- `./n8n_data` : ข้อมูล workflow n8n
- `./shared` : โฟลเดอร์แชร์ไฟล์เข้า workflow (mount ที่ `/data/shared`)
- `./qdrant_data`, `./redis_data`, `./minio_data` : ข้อมูลบริการประกอบ
---
## เอกสารและแหล่งเรียนรู้
- [AI agents สำหรับนักพัฒนา: จากทฤษฎีสู่การปฏิบัติด้วย n8n](https://blog.n8n.io/ai-agents/)
- [บทแนะนำ: สร้างเวิร์กโฟลว์ AI ใน n8n](https://docs.n8n.io/advanced-ai/intro-tutorial/)
- [แนวคิด Langchain ใน n8n](https://docs.n8n.io/advanced-ai/langchain/langchain-n8n/)
- [ฐานข้อมูลเวกเตอร์คืออะไร?](https://docs.n8n.io/advanced-ai/examples/understand-vector-databases/)
---
## สนับสนุนและชุมชน
- ถาม-ตอบและพูดคุย: [n8n Forum](https://community.n8n.io/)
---
## License
โปรเจกต์นี้อยู่ภายใต้ Apache License 2.0 - ดูไฟล์ [LICENSE](LICENSE) สำหรับรายละเอียด