mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-24 19:16:26 +02:00
Added draft base for AI assistant
This commit is contained in:
106
roles/web-app-ai-assistant/templates/docker-compose.yml.j2
Normal file
106
roles/web-app-ai-assistant/templates/docker-compose.yml.j2
Normal file
@@ -0,0 +1,106 @@
|
||||
{% include 'roles/docker-compose/templates/base.yml.j2' %}
|
||||
|
||||
# ===== LLM / Modelle =====
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "11434:11434" # Ollama API
|
||||
volumes:
|
||||
- ollama_models:/root/.ollama
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
openwebui:
|
||||
image: ghcr.io/open-webui/open-webui:main
|
||||
container_name: openwebui
|
||||
restart: unless-stopped
|
||||
depends_on: [ollama]
|
||||
ports:
|
||||
- "3001:8080"
|
||||
environment:
|
||||
- OLLAMA_BASE_URL=http://ollama:11434
|
||||
- OFFLINE_MODE=1 # blockt Netz-Zugriffe der App
|
||||
- HF_HUB_OFFLINE=1 # zwingt HF-Client in Offline-Mode
|
||||
- ENABLE_PERSISTENT_CONFIG=False # nimm ENV 1:1, ignoriere persistente Defaults
|
||||
volumes:
|
||||
- openwebui_data:/app/backend/data
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
# ===== Model/Tool Proxy (OpenAI-kompatibel) =====
|
||||
litellm:
|
||||
image: ghcr.io/berriai/litellm:main-v1.77.3.dynamic_rates
|
||||
container_name: litellm
|
||||
restart: unless-stopped
|
||||
depends_on: [ollama]
|
||||
ports: ["4000:4000"]
|
||||
environment:
|
||||
- LITELLM_MASTER_KEY=dummy-key
|
||||
- LITELLM_CONFIG=/etc/litellm/config.yaml
|
||||
volumes:
|
||||
- ./litellm.config.yaml:/etc/litellm/config.yaml:ro
|
||||
command: >
|
||||
--host 0.0.0.0
|
||||
--port 4000
|
||||
--config /etc/litellm/config.yaml
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
# ===== VectorDB =====
|
||||
qdrant:
|
||||
image: qdrant/qdrant:latest
|
||||
container_name: qdrant
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "6333:6333" # HTTP
|
||||
- "6334:6334" # gRPC
|
||||
volumes:
|
||||
- qdrant_data:/qdrant/storage
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
# ===== Flow/Orchestrator =====
|
||||
flowise:
|
||||
image: flowiseai/flowise:latest
|
||||
container_name: flowise
|
||||
restart: unless-stopped
|
||||
depends_on: [qdrant, litellm]
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- PORT=3000
|
||||
- FLOWISE_USERNAME=admin
|
||||
- FLOWISE_PASSWORD=admin
|
||||
- DATABASE_PATH=/root/.flowise
|
||||
- FLOWISE_FILE_STORAGE_PATH=/root/.flowise/storage
|
||||
# Qdrant + LiteLLM/Ollama:
|
||||
- QDRANT_URL=http://qdrant:6333
|
||||
- OPENAI_API_BASE=http://litellm:4000/v1
|
||||
- OPENAI_API_KEY=dummy-key
|
||||
volumes:
|
||||
- flowise_data:/root/.flowise
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
# ===== Knowledge (Optional: DMS/Bucket für Dokumente) =====
|
||||
minio:
|
||||
image: quay.io/minio/minio:latest
|
||||
container_name: minio
|
||||
restart: unless-stopped
|
||||
networks: [ai]
|
||||
ports:
|
||||
- "9000:9000" # S3 API
|
||||
- "9001:9001" # Console
|
||||
environment:
|
||||
- MINIO_ROOT_USER=admin
|
||||
- MINIO_ROOT_PASSWORD=adminadmin
|
||||
command: server /data --console-address ":9001"
|
||||
volumes:
|
||||
- minio_data:/data
|
||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||
|
||||
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
|
||||
|
||||
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
|
||||
ollama_models:
|
||||
openwebui_data:
|
||||
qdrant_data:
|
||||
flowise_data:
|
||||
minio_data:
|
15
roles/web-app-ai-assistant/templates/litellm.config.yaml.j2
Normal file
15
roles/web-app-ai-assistant/templates/litellm.config.yaml.j2
Normal file
@@ -0,0 +1,15 @@
|
||||
model_list:
|
||||
- model_name: ollama/llama3
|
||||
litellm_params:
|
||||
model: ollama/llama3
|
||||
api_base: http://ollama:11434
|
||||
rpm: 1000
|
||||
- model_name: ollama/nomic-embed-text
|
||||
litellm_params:
|
||||
model: ollama/nomic-embed-text
|
||||
api_base: http://ollama:11434
|
||||
rpm: 1000
|
||||
|
||||
litellm_settings:
|
||||
drop_params: true
|
||||
set_verbose: true
|
Reference in New Issue
Block a user