Files
iiEsaywebUI/REBRAND_SOLUTION.md

259 lines
12 KiB
Markdown
Raw Normal View 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.com``note.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`
### Запуск скрипта
```bash
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. **Проверьте статические файлы:**
```bash
# Проверьте, что файлы заменены
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: Замена существующих файлов
Скрипт находит все существующие файлы логотипов и иконок и заменяет их:
```bash
find /app -type f -name "logo.png" -o -name "favicon.png" ...
```
### Шаг 3: Исправление ссылок в шаблонах
Скрипт ищет файлы с упоминаниями иконок и исправляет ссылки:
```bash
find /app/web -type f -name "*.html" -o -name "*.svelte" | grep -l "favicon"
```
### Шаг 4: Удаление текста и элементов
Скрипт удаляет упоминания "Open WebUI" и элементы интерфейса только из Svelte файлов (безопасно).
### Шаг 5: Перезапуск контейнера
Скрипт автоматически перезапускает контейнер для применения изменений.
## 🔄 Обновление после обновления Open WebUI
После обновления образа Open WebUI нужно запустить скрипт снова:
```bash
# 1. Обновите образ
sudo docker compose pull
# 2. Пересоздайте контейнер
sudo docker compose up -d
# 3. Запустите ребрендинг
sudo ./scripts/rebrand_safe_final.sh
```
Или используйте скрипт `update.sh`:
```bash
sudo ./scripts/update.sh
```
## 🐛 Решение проблем
### Логотип не изменился
1. **Очистите кеш браузера** - это самая частая причина
2. **Проверьте файлы в контейнере:**
```bash
sudo docker exec open-webui ls -la /app/web/static/logo.png
```
3. **Перезапустите контейнер:**
```bash
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 для скрытия элементов
### Контейнер не запускается после ребрендинга
Если скрипт сломал контейнер:
```bash
# Восстановите контейнер
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
**Используйте этот скрипт для всех операций ребрендинга!**