feat: add 18 AI/ML Portainer templates with gap analysis
This commit is contained in:
143
ai-templates/README.md
Normal file
143
ai-templates/README.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# Portainer AI Templates
|
||||
|
||||
> **18 production-ready AI/ML Docker Compose stacks for Portainer** — filling the AI gap in the official v3 template library.
|
||||
|
||||
## Background
|
||||
|
||||
The official [Portainer v3 templates](https://raw.githubusercontent.com/portainer/templates/v3/templates.json) contain **71 templates** with **zero pure AI/ML deployments**. This repository provides a curated, Portainer-compatible template set covering the entire AI infrastructure stack.
|
||||
|
||||
See [docs/AI_GAP_ANALYSIS.md](docs/AI_GAP_ANALYSIS.md) for the full gap analysis.
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Option A: Use as Custom Template URL in Portainer
|
||||
|
||||
1. In Portainer, go to **Settings → App Templates**
|
||||
2. Set the URL to:
|
||||
```
|
||||
https://git.oe74.net/adelorenzo/portainer_scripts/raw/branch/master/ai-templates/portainer-ai-templates.json
|
||||
```
|
||||
3. Click **Save** — AI templates now appear in your App Templates list
|
||||
|
||||
### Option B: Deploy Individual Stacks
|
||||
|
||||
Each stack has its own `docker-compose.yml` in `stacks/<name>/`:
|
||||
|
||||
```bash
|
||||
cd stacks/ollama
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Template Catalog
|
||||
|
||||
### LLM Inference & Model Serving
|
||||
|
||||
| Template | Port | GPU | Description |
|
||||
|---|---|---|---|
|
||||
| **Ollama** | 11434 | Yes | Local LLM engine — Llama, Mistral, Qwen, Gemma, Phi |
|
||||
| **Open WebUI + Ollama** | 3000 | Yes | ChatGPT-like UI bundled with Ollama backend |
|
||||
| **LocalAI** | 8080 | Yes | Drop-in OpenAI API replacement |
|
||||
| **vLLM** | 8000 | Yes | High-throughput serving with PagedAttention |
|
||||
| **Text Gen WebUI** | 7860 | Yes | Comprehensive LLM interface (oobabooga) |
|
||||
| **LiteLLM Proxy** | 4000 | No | Unified API gateway for 100+ LLM providers |
|
||||
|
||||
### Image & Video Generation
|
||||
|
||||
| Template | Port | GPU | Description |
|
||||
|---|---|---|---|
|
||||
| **ComfyUI** | 8188 | Yes | Node-based Stable Diffusion workflow engine |
|
||||
| **Stable Diffusion WebUI** | 7860 | Yes | AUTOMATIC1111 interface for image generation |
|
||||
|
||||
### AI Agents & Workflows
|
||||
|
||||
| Template | Port | GPU | Description |
|
||||
|---|---|---|---|
|
||||
| **Langflow** | 7860 | No | Visual multi-agent and RAG pipeline builder |
|
||||
| **Flowise** | 3000 | No | Drag-and-drop LLM chatflow builder |
|
||||
| **n8n (AI-Enabled)** | 5678 | No | Workflow automation with AI agent nodes |
|
||||
|
||||
### Vector Databases
|
||||
|
||||
| Template | Port | GPU | Description |
|
||||
|---|---|---|---|
|
||||
| **Qdrant** | 6333 | No | High-performance vector similarity search |
|
||||
| **ChromaDB** | 8000 | No | AI-native embedding database |
|
||||
| **Weaviate** | 8080 | No | Vector DB with built-in vectorization modules |
|
||||
|
||||
### ML Operations
|
||||
|
||||
| Template | Port | GPU | Description |
|
||||
|---|---|---|---|
|
||||
| **MLflow** | 5000 | No | Experiment tracking and model registry |
|
||||
| **Label Studio** | 8080 | No | Multi-type data labeling platform |
|
||||
| **Jupyter (GPU/PyTorch)** | 8888 | Yes | GPU-accelerated notebooks |
|
||||
|
||||
### Speech & Audio
|
||||
|
||||
| Template | Port | GPU | Description |
|
||||
|---|---|---|---|
|
||||
| **Whisper ASR** | 9000 | Yes | Speech-to-text API server |
|
||||
|
||||
## GPU Requirements
|
||||
|
||||
Templates marked **GPU: Yes** require:
|
||||
- NVIDIA GPU with CUDA support
|
||||
- [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) installed
|
||||
- Docker configured with `nvidia` runtime
|
||||
|
||||
For AMD GPUs (ROCm), modify the `deploy.resources` section to use ROCm-compatible images and remove the NVIDIA device reservation.
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
ai-templates/
|
||||
├── portainer-ai-templates.json # Portainer v3 compatible template definition
|
||||
├── README.md # This file
|
||||
├── docs/
|
||||
│ └── AI_GAP_ANALYSIS.md # Analysis of official templates gap
|
||||
└── stacks/
|
||||
├── ollama/
|
||||
│ └── docker-compose.yml
|
||||
├── open-webui/
|
||||
│ └── docker-compose.yml
|
||||
├── localai/
|
||||
│ └── docker-compose.yml
|
||||
├── vllm/
|
||||
│ └── docker-compose.yml
|
||||
├── text-generation-webui/
|
||||
│ └── docker-compose.yml
|
||||
├── litellm/
|
||||
│ └── docker-compose.yml
|
||||
├── comfyui/
|
||||
│ └── docker-compose.yml
|
||||
├── stable-diffusion-webui/
|
||||
│ └── docker-compose.yml
|
||||
├── langflow/
|
||||
│ └── docker-compose.yml
|
||||
├── flowise/
|
||||
│ └── docker-compose.yml
|
||||
├── n8n-ai/
|
||||
│ └── docker-compose.yml
|
||||
├── qdrant/
|
||||
│ └── docker-compose.yml
|
||||
├── chromadb/
|
||||
│ └── docker-compose.yml
|
||||
├── weaviate/
|
||||
│ └── docker-compose.yml
|
||||
├── mlflow/
|
||||
│ └── docker-compose.yml
|
||||
├── label-studio/
|
||||
│ └── docker-compose.yml
|
||||
├── jupyter-gpu/
|
||||
│ └── docker-compose.yml
|
||||
└── whisper/
|
||||
└── docker-compose.yml
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
These templates reference publicly available Docker images from their respective maintainers. Each tool has its own license — refer to the individual project documentation.
|
||||
|
||||
---
|
||||
|
||||
*Generated March 2026 — Portainer AI Templates by Adolfo De Lorenzo*
|
||||
Reference in New Issue
Block a user