#!/bin/bash # Скрипт для применения исправления Authentik set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$SCRIPT_DIR" echo "=== Применение исправления Authentik ===" echo "Рабочая директория: $PROJECT_DIR" cd "$PROJECT_DIR" # Проверка наличия .env файла if [ ! -f ".env" ]; then echo "✗ Ошибка: .env файл не найден в $PROJECT_DIR" echo "Создайте .env из .env.example или проверьте путь" exit 1 fi # Проверка правильности .env if grep -q "ii-easy-web" .env; then echo "✓ .env содержит правильный slug: ii-easy-web" else echo "⚠ Предупреждение: .env не содержит slug 'ii-easy-web'" echo "Проверьте значение OPENID_CONNECT_ISSUER в .env" fi # Перезапуск контейнера для применения изменений echo "Перезапуск контейнера open-webui..." docker compose restart open-webui echo "Ожидание запуска (15 секунд)..." sleep 15 # Проверка доступности if curl -f http://localhost:3001/health >/dev/null 2>&1; then echo "✓ Open WebUI запущен и отвечает" else echo "⚠ Open WebUI может еще запускаться, проверьте логи:" echo " docker compose logs open-webui --tail 30" fi echo "" echo "=== Готово! ===" echo "" echo "Проверьте вход через Authentik:" echo " 1. Откройте https://odo.iieasy.ru" echo " 2. Попробуйте войти через 'iiEasy ID' (Authentik)" echo "" echo "Если все еще Internal Server Error:" echo " 1. Проверьте redirect URI в Authentik: https://odo.iieasy.ru/oauth/oidc/callback" echo " 2. Проверьте логи: docker compose logs open-webui | grep -i oauth" echo " 3. Временно используйте форму входа (уже включена)"