Files
iiEsaywebUI/REBRAND_SOLUTION.md
2026-02-19 18:12:09 +00:00

12 KiB
Raw Blame History

Рабочее решение ребрендинга Open WebUI для iiEasy

📋 Обзор

Скрипт rebrand_safe_final.sh - это безопасное и полное решение для ребрендинга Open WebUI, которое заменяет все логотипы, иконки и удаляет упоминания "Open WebUI" без нарушения функциональности приложения.

Что делает скрипт

1. Замена логотипов и иконок

Скрипт заменяет все типы логотипов и иконок:

Основные логотипы:

  • logo.png - основной логотип
  • logo.svg - SVG версия логотипа
  • logo-light.svg / logo-light.png - для светлой темы
  • logo-dark.svg / logo-dark.png - для темной темы
  • splash.png - логотип на экране загрузки
  • splash-dark.png - логотип на экране загрузки (темная тема)
  • splash-light.png - логотип на экране загрузки (светлая тема)

Favicon и иконки:

  • favicon.png - основная иконка сайта
  • favicon.ico - иконка для браузеров
  • favicon-dark.png - иконка для темной темы
  • favicon-light.png - иконка для светлой темы
  • apple-touch-icon.png - иконка для iOS устройств

2. Исправление ссылок в шаблонах

Скрипт автоматически исправляет ссылки в HTML/Svelte файлах:

  • Заменяет /static/favicon.ico/static/logo.png
  • Заменяет /static/favicon-dark.png/static/logo.png
  • Заменяет /static/splash-dark.png/static/logo.png
  • Заменяет /static/apple-touch-icon.png/static/logo.png
  • Исправляет href и src атрибуты в HTML тегах

3. Удаление упоминаний "Open WebUI"

  • Удаляет текст "(Open WebUI)" из всех HTML/Svelte шаблонов
  • Исправляет "Войти в iiEasyWeb (Open WebUI)" → "Войти в iiEasyWeb"
  • Заменяет ссылки на документацию: docs.openwebui.comnote.iieasy.ru

4. Удаление элементов интерфейса

  • Удаляет кнопку "Проверить обновления"
  • Удаляет ссылку "(последняя)" на GitHub releases
  • Удаляет "Посмотреть, что нового"
  • Удаляет социальные сети (Discord, Twitter/X, GitHub)
  • Удаляет блок "Помощь" с соцсетями
  • Удаляет блок "Лицензия" полностью

5. Исправление API endpoints

  • Заменяет /api/v1/models/model/profile/image/static/logo.png
  • Исправляет изображения профиля моделей

📁 Структура файлов

/home/its/iiEasyWeb/
├── media/
│   ├── logo.png              # Основной логотип (обязательно)
│   ├── favicon.png           # Favicon (опционально, иначе используется logo.png)
│   ├── logo-light.svg        # Логотип для светлой темы (опционально)
│   └── logo-dark.svg         # Логотип для темной темы (опционально)
├── scripts/
│   └── rebrand_safe_final.sh # Основной скрипт ребрендинга
└── docker-compose.yml        # Docker Compose конфигурация

🚀 Использование

Требования

  1. Контейнер open-webui должен быть запущен
  2. Файлы логотипов должны находиться в папке media/
  3. Минимум требуется logo.png

Запуск скрипта

cd /home/its/iiEasyWeb
sudo ./scripts/rebrand_safe_final.sh

После выполнения

  1. Очистите кеш браузера:

    • Ctrl+Shift+Delete → Очистить кеш изображений
    • Или используйте режим инкогнито: Ctrl+Shift+N
  2. Проверьте результат:

    • Откройте https://odo.iieasy.ru или http://localhost:3001
    • Проверьте favicon в браузере
    • Проверьте логотип в окне авторизации
    • Проверьте темную тему (если используется)
  3. Проверьте статические файлы:

    # Проверьте, что файлы заменены
    curl http://localhost:3001/static/logo.png
    curl http://localhost:3001/static/favicon.ico
    curl http://localhost:3001/static/splash-dark.png
    curl http://localhost:3001/static/apple-touch-icon.png
    

🔒 Безопасность

Почему скрипт безопасен:

  1. Не трогает JavaScript/TypeScript код - обрабатывает только HTML/Svelte/Python шаблоны
  2. Не изменяет OAuth/Authentik - исключает файлы связанные с аутентификацией
  3. Не ломает функциональность - только заменяет статические файлы и текст в шаблонах
  4. Использует безопасные sed команды - точные замены без агрессивных паттернов

Что НЕ делает скрипт:

  • Не изменяет скомпилированные JS файлы (может сломать функциональность)
  • Не трогает OAuth/OIDC конфигурацию
  • Не изменяет базу данных
  • Не удаляет критичные системные файлы

📝 Логика работы

Шаг 1: Копирование файлов в статические директории

Скрипт копирует логотипы во все возможные статические директории:

  • /app/web/build/_app/immutable
  • /app/web/static
  • /app/web/build
  • /app/backend/static
  • /app/static
  • /app/web/public
  • /app/public

Шаг 2: Замена существующих файлов

Скрипт находит все существующие файлы логотипов и иконок и заменяет их:

find /app -type f -name "logo.png" -o -name "favicon.png" ...

Шаг 3: Исправление ссылок в шаблонах

Скрипт ищет файлы с упоминаниями иконок и исправляет ссылки:

find /app/web -type f -name "*.html" -o -name "*.svelte" | grep -l "favicon"

Шаг 4: Удаление текста и элементов

Скрипт удаляет упоминания "Open WebUI" и элементы интерфейса только из Svelte файлов (безопасно).

Шаг 5: Перезапуск контейнера

Скрипт автоматически перезапускает контейнер для применения изменений.

🔄 Обновление после обновления Open WebUI

После обновления образа Open WebUI нужно запустить скрипт снова:

# 1. Обновите образ
sudo docker compose pull

# 2. Пересоздайте контейнер
sudo docker compose up -d

# 3. Запустите ребрендинг
sudo ./scripts/rebrand_safe_final.sh

Или используйте скрипт update.sh:

sudo ./scripts/update.sh

🐛 Решение проблем

Логотип не изменился

  1. Очистите кеш браузера - это самая частая причина
  2. Проверьте файлы в контейнере:
    sudo docker exec open-webui ls -la /app/web/static/logo.png
    
  3. Перезапустите контейнер:
    sudo docker compose restart open-webui
    

Favicon не изменился

  1. Проверьте HTML код страницы (View Source)
  2. Убедитесь, что ссылка на favicon исправлена
  3. Очистите кеш браузера полностью

Элементы интерфейса не удалились

Элементы могут быть в скомпилированных JS файлах. В этом случае:

  1. Проверьте исходные Svelte файлы через find_settings_elements.sh
  2. Удалите элементы вручную в найденных файлах
  3. Или используйте Admin Panel для скрытия элементов

Контейнер не запускается после ребрендинга

Если скрипт сломал контейнер:

# Восстановите контейнер
sudo docker compose restart open-webui

# Если не помогло, пересоздайте
sudo docker compose down
sudo docker compose up -d
sudo ./scripts/rebrand_safe_final.sh

📊 Поддерживаемые файлы

Тип файла Обрабатывается Приоритет
logo.png Да Высокий
favicon.png Да Высокий
favicon.ico Да Высокий
favicon-dark.png Да Средний
apple-touch-icon.png Да Средний
splash-dark.png Да Средний
logo-dark.svg Да Низкий (если есть)
logo-light.svg Да Низкий (если есть)

Особенности

  1. Автоматическое определение темы - скрипт автоматически использует logo-dark.svg для темной темы, если файл существует
  2. Fallback на logo.png - если специальных файлов нет, используется основной logo.png
  3. Безопасная обработка - скрипт не трогает критичные файлы и не ломает функциональность
  4. Подробный вывод - скрипт показывает, что именно обрабатывается

📚 Связанные файлы

  • scripts/rebrand_safe_final.sh - основной скрипт ребрендинга
  • scripts/update.sh - скрипт для обновления с автоматическим ребрендингом
  • REBRANDING.md - общая документация по ребрендингу
  • LOGO_SETUP.md - инструкция по настройке логотипов

🎯 Итог

Скрипт rebrand_safe_final.sh - это полное и безопасное решение для ребрендинга Open WebUI, которое:

  • Заменяет все логотипы и иконки
  • Исправляет ссылки в шаблонах
  • Удаляет упоминания "Open WebUI"
  • Удаляет ненужные элементы интерфейса
  • Не ломает функциональность приложения
  • Работает после обновлений Open WebUI

Используйте этот скрипт для всех операций ребрендинга!