Files
iiEsaywebUI/scripts/apply_logos_persistent.sh
2026-02-19 18:12:09 +00:00

80 lines
4.0 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Скрипт для постоянной замены логотипов через volume монтирование
# Этот скрипт копирует файлы в volume, который сохраняется между перезапусками
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
MEDIA_DIR="$PROJECT_DIR/media"
CONTAINER_NAME="open-webui"
echo "=== Применение логотипов (постоянное решение) ==="
# Проверка наличия контейнера
if ! docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
echo "Ошибка: Контейнер ${CONTAINER_NAME} не запущен."
exit 1
fi
echo "1. Поиск существующих favicon и logo файлов..."
# Находим все существующие favicon и logo файлы
EXISTING_FAVICONS=$(docker exec "${CONTAINER_NAME}" find /app -type f \( -name "favicon.png" -o -name "favicon.ico" -o -name "favicon.svg" -o -name "favicon-96x96.png" \) 2>/dev/null | head -20)
EXISTING_LOGOS=$(docker exec "${CONTAINER_NAME}" find /app -type f \( -name "logo.png" -o -name "logo.svg" \) 2>/dev/null | head -20)
echo " Найдено favicon файлов: $(echo "$EXISTING_FAVICONS" | grep -v '^$' | wc -l)"
echo " Найдено logo файлов: $(echo "$EXISTING_LOGOS" | grep -v '^$' | wc -l)"
# Заменяем все найденные favicon файлы
if [ -f "$MEDIA_DIR/favicon.png" ]; then
echo "2. Замена всех favicon файлов на favicon.png..."
echo "$EXISTING_FAVICONS" | while read -r favicon_file; do
if [ -n "$favicon_file" ]; then
echo "$favicon_file"
docker cp "$MEDIA_DIR/favicon.png" "${CONTAINER_NAME}:${favicon_file}" 2>/dev/null || true
# Также создаем .ico версию в той же директории
favicon_dir=$(dirname "$favicon_file")
favicon_name=$(basename "$favicon_file" | sed 's/\.[^.]*$//')
if [ "$favicon_name" != "favicon" ]; then
docker cp "$MEDIA_DIR/favicon.png" "${CONTAINER_NAME}:${favicon_dir}/favicon.ico" 2>/dev/null || true
fi
fi
done
fi
# Заменяем все найденные logo файлы
if [ -f "$MEDIA_DIR/logo.png" ]; then
echo "3. Замена всех logo файлов на logo.png..."
echo "$EXISTING_LOGOS" | while read -r logo_file; do
if [ -n "$logo_file" ]; then
echo "$logo_file"
docker cp "$MEDIA_DIR/logo.png" "${CONTAINER_NAME}:${logo_file}" 2>/dev/null || true
# Также создаем .svg версию
logo_dir=$(dirname "$logo_file")
docker cp "$MEDIA_DIR/logo.png" "${CONTAINER_NAME}:${logo_dir}/logo.svg" 2>/dev/null || true
fi
done
fi
echo ""
echo "4. Перезапуск контейнера для применения изменений..."
docker restart "${CONTAINER_NAME}" >/dev/null 2>&1 || {
echo "Предупреждение: Не удалось перезапустить контейнер автоматически."
echo "Перезапустите вручную: docker restart ${CONTAINER_NAME}"
}
echo ""
echo "=== Готово! ==="
echo ""
echo "ВАЖНО: Логотипы применены, но они могут вернуться после перезапуска контейнера."
echo ""
echo "Для ПОСТОЯННОГО решения используйте Admin Panel Open WebUI:"
echo " 1. Откройте https://odo.iieasy.ru или http://localhost:3001"
echo " 2. Войдите как администратор"
echo " 3. Settings → Appearance → Logo"
echo " 4. Загрузите logo.png и favicon.png из папки media/"
echo " 5. Сохраните - настройки сохранятся в базе данных"
echo ""
echo "Или запустите этот скрипт после каждого перезапуска контейнера."