95 lines
3.5 KiB
Bash
Executable File
95 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Скрипт первоначальной настройки Writer IDE
|
|
|
|
set -e
|
|
|
|
echo "🚀 Writer IDE - Первоначальная настройка"
|
|
echo "========================================="
|
|
echo ""
|
|
|
|
# 1. Проверка наличия .env файла
|
|
if [ ! -f .env ]; then
|
|
echo "📝 Создаю .env файл из .env.example..."
|
|
cp .env.example .env
|
|
echo "✅ Файл .env создан. Отредактируйте его и заполните значения!"
|
|
echo ""
|
|
else
|
|
echo "✅ Файл .env уже существует"
|
|
echo ""
|
|
fi
|
|
|
|
# 2. Создание папки для данных на HDD
|
|
echo "📂 Проверка папки для данных..."
|
|
DATA_PATH=$(grep DATA_VOLUME_PATH .env | cut -d '=' -f2)
|
|
if [ -z "$DATA_PATH" ]; then
|
|
DATA_PATH="/mnt/data/writer-ide"
|
|
echo "⚠️ DATA_VOLUME_PATH не указан в .env, использую $DATA_PATH"
|
|
fi
|
|
|
|
if [ ! -d "$DATA_PATH" ]; then
|
|
echo "📁 Создаю папку $DATA_PATH..."
|
|
sudo mkdir -p "$DATA_PATH"
|
|
sudo chown -R $USER:$USER "$DATA_PATH"
|
|
echo "✅ Папка создана"
|
|
else
|
|
echo "✅ Папка $DATA_PATH уже существует"
|
|
fi
|
|
echo ""
|
|
|
|
# 3. Генерация JWT_SECRET_KEY, если не указан
|
|
JWT_KEY=$(grep JWT_SECRET_KEY .env | cut -d '=' -f2)
|
|
if [ -z "$JWT_KEY" ] || [ "$JWT_KEY" = "change-this-to-a-long-random-secret-string" ]; then
|
|
echo "🔐 Генерирую JWT_SECRET_KEY..."
|
|
NEW_KEY=$(openssl rand -hex 32)
|
|
# Заменяем в .env (используем sed с разделителем |)
|
|
sed -i.bak "s|JWT_SECRET_KEY=.*|JWT_SECRET_KEY=$NEW_KEY|" .env
|
|
rm -f .env.bak
|
|
echo "✅ JWT_SECRET_KEY сгенерирован и сохранён в .env"
|
|
else
|
|
echo "✅ JWT_SECRET_KEY уже установлен"
|
|
fi
|
|
echo ""
|
|
|
|
# 4. Проверка доступности Ollama
|
|
echo "🔍 Проверка доступности Ollama..."
|
|
OLLAMA_URL=$(grep OLLAMA_BASE_URL .env | cut -d '=' -f2)
|
|
if curl -s --max-time 5 "$OLLAMA_URL/api/tags" > /dev/null; then
|
|
echo "✅ Ollama доступна по адресу $OLLAMA_URL"
|
|
else
|
|
echo "⚠️ Ollama недоступна по адресу $OLLAMA_URL"
|
|
echo " Убедитесь, что Ollama запущена и доступна"
|
|
echo " Вы можете изменить OLLAMA_BASE_URL в .env"
|
|
fi
|
|
echo ""
|
|
|
|
# 5. Проверка Docker
|
|
echo "🐳 Проверка Docker..."
|
|
if ! docker info > /dev/null 2>&1; then
|
|
echo "❌ Docker не запущен или недоступен"
|
|
echo " Запустите Docker и повторите попытку"
|
|
exit 1
|
|
fi
|
|
echo "✅ Docker работает"
|
|
echo ""
|
|
|
|
# 6. Итоговая информация
|
|
echo "========================================="
|
|
echo "✅ Первоначальная настройка завершена!"
|
|
echo ""
|
|
echo "📋 Следующие шаги:"
|
|
echo "1. Отредактируйте .env файл:"
|
|
echo " - Укажите OPENROUTER_API_KEY"
|
|
echo " - Проверьте DATA_VOLUME_PATH (путь к HDD)"
|
|
echo " - Проверьте OLLAMA_BASE_URL"
|
|
echo " - Настройте CORS_ORIGINS для вашего домена/IP"
|
|
echo ""
|
|
echo "2. Запустите приложение:"
|
|
echo " docker-compose up -d --build"
|
|
echo ""
|
|
echo "3. Откройте в браузере:"
|
|
echo " http://localhost:3000"
|
|
echo ""
|
|
echo "4. Логи можно смотреть командой:"
|
|
echo " docker-compose logs -f"
|
|
echo "========================================="
|