80 lines
2.9 KiB
Bash
80 lines
2.9 KiB
Bash
#!/bin/bash
|
||
# Инициализация Django приложения на VPS (Ubuntu 24.04)
|
||
# Запуск: bash scripts/setup-vps.sh
|
||
|
||
set -e
|
||
|
||
echo "🚀 Инициализация pg-admin на VPS..."
|
||
echo ""
|
||
|
||
# Проверяем что мы на VPS (Ubuntu)
|
||
if ! grep -qi ubuntu /etc/os-release; then
|
||
echo "⚠️ Это скрипт для Ubuntu. Попробуй вручную для другой OS."
|
||
fi
|
||
|
||
# 1. Обновляем систему
|
||
echo "📦 Обновление системы..."
|
||
sudo apt-get update
|
||
sudo apt-get upgrade -y
|
||
|
||
# 2. Устанавливаем Docker если его нет
|
||
if ! command -v docker &> /dev/null; then
|
||
echo "🐳 Установка Docker..."
|
||
sudo apt-get install -y docker.io docker-compose-plugin
|
||
sudo usermod -aG docker $USER
|
||
echo "⚠️ Нужен перелогин для работы docker без sudo. Выполни: newgrp docker"
|
||
else
|
||
echo "✅ Docker уже установлен"
|
||
fi
|
||
|
||
# 3. Создаем .env если его нет
|
||
if [ ! -f .env ]; then
|
||
echo "📝 Создание .env из .env.example..."
|
||
cp .env.example .env
|
||
echo ""
|
||
echo "⚠️ ВАЖНО! Отредактируй .env:"
|
||
echo " - Замени CHANGE_ME_TO_STRONG_PASSWORD на реальный пароль"
|
||
echo " - Замени CHANGE_ME_TO_STRONG_RANDOM_SECRET на реальный секрет"
|
||
echo " - Замени your-domain.com на твой домен"
|
||
echo " - Используй скрипт: bash scripts/generate-secrets.sh"
|
||
echo ""
|
||
echo "📝 Открой .env в редакторе и отредактируй значения:"
|
||
echo " nano .env"
|
||
exit 1
|
||
else
|
||
echo "✅ .env файл уже существует"
|
||
fi
|
||
|
||
# 4. Останавливаем старые контейнеры
|
||
echo "🛑 Остановка старых контейнеров..."
|
||
docker compose down -v --remove-orphans || true
|
||
|
||
# 5. Создаем необходимые папки
|
||
echo "📁 Создание папок..."
|
||
mkdir -p backend/logs
|
||
mkdir -p logs
|
||
|
||
# 6. Собираем и запускаем контейнеры
|
||
echo "🔨 Сборка и запуск контейнеров..."
|
||
docker compose up -d --build
|
||
|
||
# 7. Проверяем статус
|
||
echo ""
|
||
echo "✅ Инициализация завершена!"
|
||
echo ""
|
||
echo "📊 Статус контейнеров:"
|
||
docker compose ps
|
||
|
||
echo ""
|
||
echo "🌐 Приложение доступно по адресу:"
|
||
echo " http://YOUR_VPS_IP:80"
|
||
echo ""
|
||
echo "📝 Логи:"
|
||
echo " docker compose logs -f"
|
||
echo ""
|
||
echo "💡 Рекомендации:"
|
||
echo " 1. Настрой файрвол (UFW): sudo ufw allow 80,443/tcp"
|
||
echo " 2. Добавь SSL (Let's Encrypt) когда будешь готов"
|
||
echo " 3. Настрой резервное копирование БД"
|
||
echo " 4. Настрой мониторинг"
|