3.8 KiB
Исправление проблемы с OAuth после rebrand.sh
Проблема
После запуска rebrand.sh OAuth перестает работать и выкидывает на страницу авторизации. Без rebrand все работает нормально.
Причина
Скрипт rebrand.sh изменяет файлы Python/JS, включая файлы, связанные с OAuth/аутентификацией, что ломает конфигурацию OAuth.
Решение
Вариант 1: Использовать безопасный скрипт (РЕКОМЕНДУЕТСЯ)
Используйте новый скрипт rebrand_safe.sh, который изменяет ТОЛЬКО логотипы и favicon:
cd /home/its/iiEasyWeb
sudo ./scripts/rebrand_safe.sh
Этот скрипт:
- ✅ Изменяет только логотипы и favicon
- ✅ НЕ изменяет код Python/JS
- ✅ НЕ влияет на OAuth/Authentik
Вариант 2: Использовать Admin Panel (НАИБОЛЕЕ БЕЗОПАСНО)
Для постоянных изменений используйте Admin Panel Open WebUI:
- Откройте
https://odo.iieasy.ru - Войдите как администратор
- Перейдите в Settings → Appearance → Logo
- Загрузите логотипы и favicon из папки
media/ - Сохраните - настройки сохранятся в базе данных
Это самый безопасный способ, так как изменения сохраняются в базе данных и не затрагивают код.
Вариант 3: Восстановить контейнер после rebrand.sh
Если вы уже запустили rebrand.sh и OAuth сломался:
cd /home/its/iiEasyWeb
# Пересоздайте контейнер с чистой версией
sudo docker compose stop open-webui
sudo docker compose rm -f open-webui
sudo docker compose up -d open-webui
# Подождите 30 секунд
sleep 30
# Используйте безопасный скрипт для логотипов
sudo ./scripts/rebrand_safe.sh
Почему rebrand.sh ломает OAuth?
Скрипт rebrand.sh пытается заменить текст "Open WebUI" во всех файлах, включая:
/app/backend/open_webui/utils/oauth.py- файлы OAuth/app/backend/open_webui/main.py- может содержать OAuth логику- Другие файлы, связанные с аутентификацией
Даже с фильтрами исключения, некоторые файлы могут быть изменены, что ломает OAuth конфигурацию.
Рекомендации
- Для логотипов: Используйте
rebrand_safe.shили Admin Panel - Для текста интерфейса: Используйте переменные окружения в
docker-compose.yml:WEBUI_NAME=iiEasyWeb(уже настроено)OAUTH_PROVIDER_NAME=iiEasy ID(уже настроено)
- Избегайте: Изменения кода Python/JS через
sedв работающем контейнере
Проверка OAuth после восстановления
После восстановления контейнера проверьте:
# Проверьте логи
sudo docker compose logs open-webui --tail 50 | grep -i "oauth\|error"
# Проверьте конфигурацию
grep OPENID_CONNECT_ISSUER .env
# Должно быть: OPENID_CONNECT_ISSUER=https://auth.iieasy.ru/application/o/open-webui/
# Проверьте OAuth в браузере
# Откройте https://odo.iieasy.ru и нажмите "iiEasy ID"