#!/bin/bash # Configuration par défaut si bashio n'est pas disponible if command -v bashio >/dev/null 2>&1; then echo "Using Home Assistant configuration" GPU_LAYERS="$(bashio::config 'gpu_layers')" TOKEN="$(bashio::config 'master_token')" MODELS_PATH="$(bashio::config 'models_path')" else echo "Using environment variables" GPU_LAYERS="${GPU_LAYERS:-99}" TOKEN="${LOCALAI_P2P_TOKEN:-}" MODELS_PATH="${LOCALAI_MODELS_PATH:-/share/localai/models}" fi echo "DEBUG: GPU_LAYERS=$GPU_LAYERS" echo "DEBUG: TOKEN from config: '$TOKEN'" echo "DEBUG: MODELS_PATH=$MODELS_PATH" # Forcer l'utilisation du token si fourni if [ -n "$TOKEN" ] && [ "$TOKEN" != "null" ] && [ "$TOKEN" != "" ]; then echo "DEBUG: Setting LOCALAI_P2P_TOKEN to: $TOKEN" export LOCALAI_P2P_TOKEN="$TOKEN" export P2P_TOKEN="$TOKEN" else echo "DEBUG: No valid token provided in configuration" fi echo "DEBUG: LOCALAI_P2P_TOKEN is set to: '$LOCALAI_P2P_TOKEN'" echo "DEBUG: P2P_TOKEN is set to: '$P2P_TOKEN'" # Créer le répertoire des modèles s'il n'existe pas mkdir -p "$MODELS_PATH" # Nettoyer les fichiers de configuration corrompus echo "DEBUG: Cleaning corrupted config files in $MODELS_PATH" find "$MODELS_PATH" -name "*.yaml" -exec grep -l "#!/usr/bin/with-contenv bashio\|mapping values are not allowed in this context" {} \; | while read file; do echo "DEBUG: Removing corrupted file: $file" rm -f "$file" done 2>/dev/null || true # Lancer LocalAI avec nos paramètres echo "DEBUG: Starting LocalAI with models-path=$MODELS_PATH, gpu-layers=$GPU_LAYERS" exec /build/local-ai run --models-path="$MODELS_PATH" --gpu-layers="$GPU_LAYERS" --address="0.0.0.0:8080" --cors --cors-allow-origins="*"