45 lines
1.7 KiB
Bash
45 lines
1.7 KiB
Bash
#!/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:-0}"
|
|
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="*"
|