Files
ct104-stacks/ai/docker-compose.yml
T
2026-05-28 10:01:56 +02:00

91 lines
2.6 KiB
YAML

name: nuc-ai-core
include:
# - path: ./lobehub.yml # decommissioned 2026-05-26
- path: ./open-terminal.yml
- path: ./qdrant.yml
- path: ./tei.yml
- path: ./nomic.yml
- path: ./searxng.yaml
#- path: ./mcp-tools.yaml # All your MCP servers (Nextcloud, etc.)
# SAIA image/STT/edit now handled natively by LiteLLM (saia-* models in
# litellm-config/config.yaml); Docling moved to the docling-mcp stack.
services:
# --- LiteLLM Gateway ---
# --- LiteLLM (DECOMMISSIONED 2026-05-26 — stopped; Bifrost replaced it) ---
# litellm:
# image: ghcr.io/berriai/litellm:main-latest
# container_name: litellm
# volumes:
# - ./litellm-config:/app/config
# env_file: .env
# ports:
# - "14000:4000"
# networks:
# - ai-internal
# - shared_backend
# command: ["--config", "/app/config/config.yaml"]
# labels:
# - "homepage.group=ai"
# - "homepage.name=LiteLLM"
# - "homepage.icon=sh-litellm"
# - "homepage.href=https://ai.nuclide.systems"
# - "homepage.instance.internal.href=http://192.168.1.40:14000"
# - "homepage.instance.public.href=https://ai.nuclide.systems"
# healthcheck:
# test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:4000/health/liveliness')"]
# interval: 10s
# timeout: 5s
# retries: 10
# start_period: 30s
# syncstack:
# build:
# context: .
# dockerfile: Dockerfile.syncstack
# env_file: .env
# volumes:
# - ./.env:/app/.env
# - .:/project
# - /var/run/docker.sock:/var/run/docker.sock
# networks:
# - ai-internal
# depends_on:
# litellm:
# condition: service_healthy
# lobe:
# condition: service_healthy
# restart: "no"
#
claude-max-bridge:
build:
context: /opt/stacks/ai/claude-max-bridge
dockerfile: Dockerfile
container_name: claude-max-bridge
restart: unless-stopped
environment:
CLAUDE_BIN: /usr/local/bin/claude
CLAUDE_HOME: /root/.claude
LOG_LEVEL: INFO
REQUEST_TIMEOUT_S: "120"
volumes:
- /usr/local/bin/claude:/usr/local/bin/claude:ro
- /root/.claude:/root/.claude:rw
- /root/.claude.json:/root/.claude.json:rw
networks:
- ai-internal
healthcheck:
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
networks:
ai-internal:
external: true
shared_backend:
external: true