Files
pg-adx/scripts/setup-vps.sh
2026-03-18 16:06:29 +07:00

80 lines
2.9 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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. Настрой мониторинг"