initial commit

This commit is contained in:
2026-07-14 10:49:14 +02:00
commit 9fef20ad53
16 changed files with 588 additions and 0 deletions

45
scripts/bootstrap.sh Executable file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
if [[ ! -f .env ]]; then
cp .env.example .env
echo "Created .env from .env.example. Update secrets before production use."
fi
mkdir -p config
if [[ ! -f config/kubeconfig ]]; then
echo "No config/kubeconfig found. Create one or set KUBECONFIG_PATH in .env."
fi
echo "Pulling base images..."
docker compose -f docker-compose.yaml -f docker-compose.mcp.yaml pull || true
echo "Building custom MCP service images..."
docker compose -f docker-compose.yaml -f docker-compose.mcp.yaml build mcp-filesystem mcp-k8s mcp-media
echo "Starting full stack..."
docker compose -f docker-compose.yaml -f docker-compose.mcp.yaml up -d
echo "Waiting for Ollama to become available..."
for _ in {1..30}; do
if curl -sf http://localhost:11434/api/tags >/dev/null 2>&1; then
break
fi
sleep 2
done
MODEL_NAME="$(grep -E '^OLLAMA_DEFAULT_MODEL=' .env | cut -d'=' -f2- || true)"
MODEL_NAME="${MODEL_NAME:-llama3.1:8b}"
echo "Ensuring Ollama model is available: ${MODEL_NAME}"
docker compose exec -T ollama ollama pull "$MODEL_NAME" || true
echo
echo "Stack is up."
echo "Open WebUI: http://localhost:11435"
echo "LiteLLM: http://localhost:4000"
echo "MCPO: http://localhost:8001"
echo "ContextForge (tools profile): http://localhost:8787"