144 lines
4.9 KiB
Markdown
144 lines
4.9 KiB
Markdown
# 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*
|