Files
vps_monitoring/install.sh
Андрей Бобырев e6e88314d5 feat: initial VPS monitoring platform
- FastAPI backend with auth, server CRUD, metrics collection
- Web dashboard with dark theme, server cards, SSH terminal (xterm.js)
- Telegram bot with inline keyboards, server management, reboot
- Telegram Mini App for mobile monitoring
- Background monitoring via asyncssh (CPU, RAM, Disk, Network, Uptime)
- Alert system with configurable thresholds
- WebSocket SSH terminal in browser
- One-command install script
- Systemd service configuration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-20 05:47:28 +03:00

90 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
set -e
# VPS Monitoring — One-command installer
# Usage: curl -sSL https://raw.githubusercontent.com/andrey271192/vps_monitoring/main/install.sh | bash
echo "================================================"
echo " 🖥 VPS Monitoring — Установка"
echo "================================================"
echo ""
APP_DIR="/opt/vps-monitoring"
REPO_URL="https://github.com/andrey271192/vps_monitoring.git"
SERVICE_NAME="vps-monitoring"
# Check root
if [ "$EUID" -ne 0 ]; then
echo "❌ Запустите от root: sudo bash install.sh"
exit 1
fi
echo "📦 Обновление системы..."
apt-get update -qq
apt-get install -y -qq python3 python3-venv python3-pip git curl > /dev/null 2>&1
# Clone or update repo
if [ -d "$APP_DIR" ]; then
echo "📂 Обновление существующей установки..."
cd "$APP_DIR"
git pull --ff-only || true
else
echo "📥 Клонирование репозитория..."
git clone "$REPO_URL" "$APP_DIR"
cd "$APP_DIR"
fi
# Python virtual environment
echo "🐍 Настройка Python окружения..."
python3 -m venv venv
source venv/bin/activate
pip install -q --upgrade pip
pip install -q -r requirements.txt
# Create data directory
mkdir -p data
# Setup environment variables
if [ ! -f .env ]; then
echo "⚙️ Создание конфигурации..."
cat > .env << 'ENVEOF'
TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-}
TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID:-}
ENVEOF
fi
# Install systemd service
echo "🔧 Установка systemd сервиса..."
cp systemd/vps-monitoring.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable $SERVICE_NAME
systemctl restart $SERVICE_NAME
# Firewall (allow 8000)
if command -v ufw &> /dev/null; then
ufw allow 8000/tcp > /dev/null 2>&1 || true
fi
# Get server IP
SERVER_IP=$(curl -s ifconfig.me 2>/dev/null || hostname -I | awk '{print $1}')
echo ""
echo "================================================"
echo " ✅ Установка завершена!"
echo "================================================"
echo ""
echo " 🌐 Панель: http://${SERVER_IP}:8000"
echo " 👤 Логин: admin"
echo " 🔑 Пароль: admin"
echo ""
echo " 📱 Telegram бот активен"
echo " 🔄 Авто-обновление: systemctl restart $SERVICE_NAME"
echo ""
echo " 📋 Команды управления:"
echo " systemctl status $SERVICE_NAME"
echo " systemctl restart $SERVICE_NAME"
echo " journalctl -u $SERVICE_NAME -f"
echo ""
echo " ⚠️ Смените пароль в настройках панели!"
echo "================================================"