{"id":28449322,"url":"https://github.com/racksync/workshop-n8n","last_synced_at":"2026-02-04T17:31:49.427Z","repository":{"id":293416055,"uuid":"983953025","full_name":"racksync/workshop-n8n","owner":"racksync","description":"n8n docker compose stack","archived":false,"fork":false,"pushed_at":"2025-05-24T14:02:43.000Z","size":3975,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T13:50:17.223Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/racksync.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-15T07:04:31.000Z","updated_at":"2025-05-24T14:02:46.000Z","dependencies_parsed_at":"2025-05-15T08:43:29.091Z","dependency_job_id":null,"html_url":"https://github.com/racksync/workshop-n8n","commit_stats":null,"previous_names":["racksync/n8n-stack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/racksync/workshop-n8n","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racksync%2Fworkshop-n8n","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racksync%2Fworkshop-n8n/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racksync%2Fworkshop-n8n/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racksync%2Fworkshop-n8n/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/racksync","download_url":"https://codeload.github.com/racksync/workshop-n8n/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racksync%2Fworkshop-n8n/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29091826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-06T14:07:39.898Z","updated_at":"2026-02-04T17:31:49.415Z","avatar_url":"https://github.com/racksync.png","language":null,"readme":"# ชุดเริ่มต้น AI แบบโฮสต์เอง (n8n-services)\n\n**เทมเพลต Docker Compose สำหรับ n8n + AI + เครื่องมือประกอบ**  \nเลือกใช้งานได้หลายรูปแบบตามความต้องการ\n\n![n8n.io - Screenshot](https://github.com/racksync/workshop-ai/blob/main/hands-on/n8n-services/assets/n8n-demo.gif)\n\n## รายการบริการ\n- **n8n:** ระบบอัตโนมัติและการจัดการเวิร์กโฟลว์\n- **Ollama:** LLM (Large Language Model) สำหรับการประมวลผลภาษา\n- **Qdrant:** ฐานข้อมูลเวกเตอร์ (Vector Database) สำหรับการจัดเก็บและค้นหาข้อมูล\n- **Redis:** ระบบจัดการแคชและคิว\n- **MinIO:** ระบบจัดเก็บข้อมูลแบบ S3-compatible\n- **PGVector/Postgres:** ฐานข้อมูลเชิงสัมพันธ์\n- **PgAdmin:** UI สำหรับจัดการ PostgreSQL\n- **Cloudflared:** เชื่อมต่อกับ Cloudflare Tunnel\n- **RedisInsight:** UI สำหรับจัดการ Redis\n\n---\n\n## เลือกโหมดการใช้งาน\n\n\u003e **แต่ละโหมดเหมาะกับการใช้งานที่แตกต่างกัน:**\n\u003e\n\u003e - **โหมดที่ 1 (`docker-compose.yml`):** เหมาะสำหรับผู้เริ่มต้นหรือทดลองใช้งาน n8n + vector database แบบเบา ๆ ไม่ต้องการ LLM ใน container เหมาะกับการเรียนรู้หรือทดสอบฟีเจอร์พื้นฐาน\n\u003e - **โหมดที่ 2 (`docker-compose-ollama.yml`):** เหมาะกับผู้ที่ต้องการใช้งาน LLM (Ollama) ใน container เดียวกันกับ n8n สะดวกสำหรับการทดลอง AI workflow แบบครบวงจรในเครื่องเดียว\n\u003e - **โหมดที่ 3 (`docker-compose-full.yml`):** **แนะนำสำหรับการใช้งานจริง/องค์กร (on premise/production)** เพราะมีบริการเสริมครบถ้วน (Redis, MinIO ฯลฯ) รองรับงาน production, ปรับแต่งและควบคุมบริการต่าง ๆ ได้อิสระ, สามารถแยก Ollama ออกไปติดตั้งบนเครื่องอื่นหรือคลัสเตอร์ได้ง่าย เหมาะกับการเก็บข้อมูลภายในองค์กรและขยายระบบในอนาคต\n\n### 1. `docker-compose.yml` (โหมดเบา/พื้นฐาน)\n- **บริการ:**  \n  - n8n (workflow automation)\n  - PostgreSQL (database)\n  - PgAdmin (UI จัดการ postgres)\n  - Qdrant (vector database)\n  - Cloudflared (Cloudflare tunnel)\n- **ไม่มี Ollama**\n- **เหมาะสำหรับ:** ทดลอง n8n + vector DB, ไม่ต้องการ LLM ใน container\n\n\u003e **ข้อดีของโหมดนี้:**  \n\u003e - เหมาะสำหรับผู้เริ่มต้นหรือผู้ที่ต้องการทดลองใช้งาน n8n และ vector database ได้อย่างรวดเร็ว  \n\u003e - ใช้งานง่าย ไม่ซับซ้อน บริการน้อย ดูแลรักษาง่าย  \n\u003e - เหมาะกับการเรียนรู้ ทดสอบ หรือสาธิตฟีเจอร์พื้นฐาน  \n\u003e - ใช้ทรัพยากรเครื่องน้อย เหมาะกับเครื่องสเปกต่ำหรือ dev environment\n\n**เริ่มต้น:**\n```bash\ngit clone https://github.com/racksync/workshop-ai.git\ncd workshop-ai/hands-on/n8n-services\ndocker compose up -d\n```\n\n---\n\n### 2. `docker-compose-ollama.yml` (โหมด AI ครบวงจร + Ollama ใน container)\n- **บริการ:**  \n  - n8n, postgres, pgadmin, qdrant, cloudflared\n  - **Ollama** (เลือก profile: cpu/gpu/gpu-amd)\n  - n8n-import (import credentials/workflows อัตโนมัติ)\n- **เหมาะสำหรับ:** ต้องการรัน LLM (Ollama) ใน container เดียวกัน\n\n\u003e **ข้อดีของโหมดนี้:**  \n\u003e - ติดตั้งและใช้งาน LLM (Ollama) ได้ใน container เดียวกับ n8n สะดวกและรวดเร็ว  \n\u003e - เหมาะกับการทดลอง AI workflow แบบครบวงจรในเครื่องเดียว  \n\u003e - รองรับทั้ง CPU และ GPU (Nvidia/AMD) เลือก profile ได้ตามเครื่อง  \n\u003e - ลดขั้นตอนการตั้งค่า Ollama แยกต่างหาก เหมาะกับ dev/test/demo\n\n**ตัวอย่างการรัน:**\n- **CPU:**  \n  ```bash\n  docker compose -f docker-compose-ollama.yml --profile cpu up -d\n  ```\n- **Nvidia GPU:**  \n  ```bash\n  docker compose -f docker-compose-ollama.yml --profile gpu-nvidia up -d\n  ```\n- **AMD GPU:**  \n  ```bash\n  docker compose -f docker-compose-ollama.yml --profile gpu-amd up -d\n  ```\n\n---\n\n### 3. `docker-compose-full.yml` (โหมด production-like ครบเครื่อง)\n- **บริการ:**  \n  - n8n, pgvector, pgadmin, qdrant, cloudflared\n  - **Redis** (cache/queue)\n  - **RedisInsight** (UI จัดการ redis)\n  - **MinIO** (S3-compatible object storage)\n- **ไม่มี Ollama ในตัว** (ต้องรัน Ollama แยกเอง หรือใช้ Ollama บน host)\n- **เหมาะสำหรับ:** สภาพแวดล้อมครบเครื่อง, เชื่อมต่อ Ollama ภายนอก\n\n\u003e **ข้อดีของโหมดนี้ (on premise/production):**  \n\u003e - เหมาะกับการใช้งานในองค์กรหรือ production ที่ต้องการความเสถียรและความปลอดภัย  \n\u003e - มีบริการเสริมครบถ้วน (Redis, MinIO ฯลฯ) รองรับงานจริงและการขยายระบบ  \n\u003e - ปรับแต่งและควบคุมบริการต่าง ๆ ได้อิสระ  \n\u003e - สามารถแยก Ollama ออกไปติดตั้งบนเครื่องอื่นหรือคลัสเตอร์ได้ง่าย  \n\u003e - เหมาะกับการใช้งาน on premise ที่ต้องการเก็บข้อมูลภายในองค์กร\n\n**ตัวอย่างการรัน (CPU):**\n```bash\ndocker compose -f docker-compose-full.yml up -d\n```\n\u003e หากต้องการใช้ Ollama ให้ติดตั้ง Ollama บนเครื่อง หรือรัน container Ollama แยกต่างหาก  \n\u003e จากนั้นตั้งค่า `OLLAMA_HOST` ใน `.env` หรือ environment variable ให้ชี้ไปที่ Ollama instance ที่ต้องการ\n\n---\n\n## การเชื่อมต่อ Ollama (LLM)\n\n- **Ollama ใน container:** ใช้ `docker-compose-ollama.yml` พร้อม profile ที่ต้องการ\n- **Ollama บน host (เช่น Mac/Windows):**  \n  - ติดตั้ง Ollama [ดูวิธีที่นี่](https://ollama.com/)\n  - ตั้งค่า `OLLAMA_HOST=host.docker.internal:11434` (ค่าดีฟอลต์ใน compose รองรับแล้ว)\n  - รัน n8n ด้วย compose ปกติหรือ full\n\n---\n\n## การเข้าถึงบริการ\n\n- **n8n:** [http://localhost:5678/](http://localhost:5678/)\n- **PgAdmin:** [http://localhost:5050/](http://localhost:5050/) (user/pass ดูใน `.env`)\n- **Qdrant:** [http://localhost:6333/](http://localhost:6333/)\n- **RedisInsight:** [http://localhost:5540/](http://localhost:5540/) (เฉพาะ full)\n- **MinIO:** [http://localhost:9000/](http://localhost:9000/) (เฉพาะ full, UI: [http://localhost:9001/](http://localhost:9001/))\n\n---\n\n## การอัปเกรด\n\n- **อัปเดตบริการ:**\n  ```bash\n  docker compose -f docker-compose-full.yml pull\n  docker compose -f docker-compose-full.yml up -d\n  ```\n  (เปลี่ยนชื่อไฟล์ compose ตามที่ใช้งาน)\n\n---\n\n## โฟลเดอร์ข้อมูล\n\n- `./n8n_data` : ข้อมูล workflow n8n\n- `./shared` : โฟลเดอร์แชร์ไฟล์เข้า workflow (mount ที่ `/data/shared`)\n- `./qdrant_data`, `./redis_data`, `./minio_data` : ข้อมูลบริการประกอบ\n\n---\n\n## เอกสารและแหล่งเรียนรู้\n\n- [AI agents สำหรับนักพัฒนา: จากทฤษฎีสู่การปฏิบัติด้วย n8n](https://blog.n8n.io/ai-agents/)\n- [บทแนะนำ: สร้างเวิร์กโฟลว์ AI ใน n8n](https://docs.n8n.io/advanced-ai/intro-tutorial/)\n- [แนวคิด Langchain ใน n8n](https://docs.n8n.io/advanced-ai/langchain/langchain-n8n/)\n- [ฐานข้อมูลเวกเตอร์คืออะไร?](https://docs.n8n.io/advanced-ai/examples/understand-vector-databases/)\n\n---\n\n## สนับสนุนและชุมชน\n\n- ถาม-ตอบและพูดคุย: [n8n Forum](https://community.n8n.io/)\n\n---\n\n## License\n\nโปรเจกต์นี้อยู่ภายใต้ Apache License 2.0 - ดูไฟล์ [LICENSE](LICENSE) สำหรับรายละเอียด\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracksync%2Fworkshop-n8n","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fracksync%2Fworkshop-n8n","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracksync%2Fworkshop-n8n/lists"}