Add project and deployment instruction (docs/DEPLOYMENT.md)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
79
scripts/apply_logos_persistent.sh
Executable file
79
scripts/apply_logos_persistent.sh
Executable file
@@ -0,0 +1,79 @@
|
||||
#!/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 "Или запустите этот скрипт после каждого перезапуска контейнера."
|
||||
Reference in New Issue
Block a user