mirror of
https://github.com/andrey271192/vps_monitoring.git
synced 2026-09-20 11:55:34 +00:00
- Switch xterm.js from cdnjs (404) to jsdelivr (working) - Add xterm-addon-fit for auto-resize terminal - Change default port from 8000 to 7272 everywhere - Install script: --port flag for custom port selection - sed-based port injection into systemd service at install time Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
112 lines
3.2 KiB
Bash
Executable File
112 lines
3.2 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
|
|
# Custom port: curl -sSL ... | bash -s -- --port 9090
|
|
|
|
echo "================================================"
|
|
echo " 🖥 VPS Monitoring — Установка"
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
APP_DIR="/opt/vps-monitoring"
|
|
REPO_URL="https://github.com/andrey271192/vps_monitoring.git"
|
|
SERVICE_NAME="vps-monitoring"
|
|
PORT=7272
|
|
|
|
# Parse arguments
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
--port|-p)
|
|
PORT="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "🔌 Порт: $PORT"
|
|
echo ""
|
|
|
|
# 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:-}
|
|
PORT=${PORT}
|
|
ENVEOF
|
|
fi
|
|
|
|
# Install systemd service with custom port
|
|
echo "🔧 Установка systemd сервиса (порт $PORT)..."
|
|
sed "s/--port 7272/--port $PORT/" systemd/vps-monitoring.service > /etc/systemd/system/vps-monitoring.service
|
|
systemctl daemon-reload
|
|
systemctl enable $SERVICE_NAME
|
|
systemctl restart $SERVICE_NAME
|
|
|
|
# Firewall
|
|
if command -v ufw &> /dev/null; then
|
|
ufw allow ${PORT}/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}:${PORT}"
|
|
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 " curl -sSL <URL> | bash -s -- --port 9090"
|
|
echo ""
|
|
echo " ⚠️ Смените пароль в настройках панели!"
|
|
echo "================================================"
|