Files
writer-ide/setup.sh
T
admin 46af290db3
Build and Push Docker Images / build-and-push (push) Failing after 3m33s
initial commit
2026-11-07 16:39:43 +03:00

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 "========================================="