Containerize MCP tool services

This commit is contained in:
Mikei386
2026-08-20 23:54:02 +02:00
parent 3ab9628088
commit f0d552ef58
28 changed files with 858 additions and 305 deletions
+8 -30
View File
@@ -11,15 +11,12 @@ x-llama-common: &llama-common
- /tmp:size=1g,mode=1777
volumes:
- "${MODEL_DIR:-/srv/mike-ai/models}:/models:ro"
- ./platform/docker/mcp-standard.json:/etc/mike-ai/mcp-standard.json:ro
environment:
SEARXNG_URL: http://searxng:8080
NVIDIA_DRIVER_CAPABILITIES: compute,utility
dns: ["${AI_DNS:-1.1.1.1}"]
networks:
inference:
aliases: [llama-upstream]
search: {}
security_opt: ["no-new-privileges:true"]
cap_drop: [ALL]
healthcheck:
@@ -36,7 +33,6 @@ services:
labels:
com.mike-ai.llama-profile: fast
environment:
SEARXNG_URL: http://searxng:8080
NVIDIA_VISIBLE_DEVICES: ${FAST_GPU_DEVICES:-0}
NVIDIA_DRIVER_CAPABILITIES: compute,utility
command:
@@ -85,8 +81,6 @@ services:
- "0.8"
- --top-k
- "20"
- --mcp-servers-config
- /etc/mike-ai/mcp-standard.json
- --device
- CUDA0
- --split-mode
@@ -108,7 +102,6 @@ services:
labels:
com.mike-ai.llama-profile: medium
environment:
SEARXNG_URL: http://searxng:8080
NVIDIA_VISIBLE_DEVICES: ${MEDIUM_GPU_DEVICES:-0}
NVIDIA_DRIVER_CAPABILITIES: compute,utility
command:
@@ -157,8 +150,6 @@ services:
- "0.8"
- --top-k
- "20"
- --mcp-servers-config
- /etc/mike-ai/mcp-standard.json
- --device
- CUDA0
- --split-mode
@@ -170,7 +161,6 @@ services:
labels:
com.mike-ai.llama-profile: long
environment:
SEARXNG_URL: http://searxng:8080
NVIDIA_VISIBLE_DEVICES: ${LONG_GPU_DEVICES:-0}
NVIDIA_DRIVER_CAPABILITIES: compute,utility
command:
@@ -221,8 +211,6 @@ services:
- "0.8"
- --top-k
- "20"
- --mcp-servers-config
- /etc/mike-ai/mcp-standard.json
- --device
- CUDA0
- --split-mode
@@ -276,8 +264,6 @@ services:
- all
- --no-mmap
- --no-ui
- --mcp-servers-config
- /etc/mike-ai/mcp-standard.json
- --device
- CUDA0
- --split-mode
@@ -355,26 +341,19 @@ services:
OPENAI_API_BASE_URLS: http://router:8081/v1
OPENAI_API_KEYS: "${ROUTER_API_KEY:?ROUTER_API_KEY is required}"
ENABLE_SIGNUP: ${OPENWEBUI_ENABLE_SIGNUP:-false}
# Seed native MCP connections on a fresh Open WebUI database. Secrets
# stay inside the tool containers, so these internal URLs need no keys.
TOOL_SERVER_CONNECTIONS: >-
[{"url":"http://mike-ai-mcp-web:8000/mcp","path":"","type":"mcp","auth_type":"none","headers":null,"key":"","config":{"enable":true,"access_grants":[]},"info":{"id":"web-local","name":"Web (lokal)","description":"Kompakte Websuche und Quellenvergleich"}},{"url":"http://mike-ai-mcp-homeassistant:8000/mcp","path":"","type":"mcp","auth_type":"none","headers":null,"key":"","config":{"enable":true,"access_grants":[]},"info":{"id":"homeassistant-local","name":"Home Assistant (lokal)","description":"Home-Assistant-Werkzeuge mit serverseitigem Token"}},{"url":"http://mike-ai-mcp-arr:8000/mcp","path":"","type":"mcp","auth_type":"none","headers":null,"key":"","config":{"enable":true,"access_grants":[]},"info":{"id":"arr-local","name":"ARR (lokal)","description":"Sonarr- und Radarr-Werkzeuge"}},{"url":"http://mike-ai-mcp-unraid-official:8000/mcp","path":"","type":"mcp","auth_type":"none","headers":null,"key":"","config":{"enable":true,"access_grants":[]},"info":{"id":"unraid-readonly-local","name":"Unraid (lokal, read-only)","description":"Begrenzte Unraid-Diagnose"}}]
DO_NOT_TRACK: "true"
SCARF_NO_ANALYTICS: "true"
ports:
- "${AI_BIND_ADDRESS:-127.0.0.1}:8080:8080"
dns: ["${AI_DNS:-1.1.1.1}"]
networks: [frontend]
networks: [frontend, tools]
depends_on: [router]
security_opt: ["no-new-privileges:true"]
searxng:
image: searxng/searxng@sha256:e45d5894bfaa0bf8773b9f283795ae57f1c15ddb29c8cecb70b3665b0ce9ec60
container_name: mike-ai-searxng
restart: unless-stopped
volumes:
- ./platform/web-search/searxng-settings.yml:/etc/searxng/settings.yml:ro
networks: [search]
dns: ["${AI_DNS:-1.1.1.1}"]
security_opt: ["no-new-privileges:true"]
cap_drop: [ALL]
networks:
frontend:
internal: false
@@ -388,10 +367,9 @@ networks:
internal: true
ipam:
config: [{subnet: 172.30.30.0/24}]
search:
internal: false
ipam:
config: [{subnet: 172.30.40.0/24}]
tools:
external: true
name: mike-ai-tools
volumes:
open-webui-data: