# PowerShell скрипт для запуска BGP сервера param( [switch]$Build, [switch]$Logs, [switch]$Monitor ) Write-Host "=== BGP Server Management ===" -ForegroundColor Green # Проверка Docker Write-Host "Checking Docker..." -ForegroundColor Yellow try { docker --version | Out-Null Write-Host "✓ Docker is available" -ForegroundColor Green } catch { Write-Host "✗ Docker is not available. Please install Docker Desktop." -ForegroundColor Red exit 1 } # Проверка Docker Compose Write-Host "Checking Docker Compose..." -ForegroundColor Yellow try { docker-compose --version | Out-Null Write-Host "✓ Docker Compose is available" -ForegroundColor Green } catch { Write-Host "✗ Docker Compose is not available." -ForegroundColor Red exit 1 } # Создание необходимых директорий Write-Host "Creating directories..." -ForegroundColor Yellow if (!(Test-Path "logs")) { New-Item -ItemType Directory -Path "logs" | Out-Null Write-Host "✓ Created logs directory" -ForegroundColor Green } if (!(Test-Path "data")) { New-Item -ItemType Directory -Path "data" | Out-Null Write-Host "✓ Created data directory" -ForegroundColor Green } # Сборка образа если требуется if ($Build) { Write-Host "Building Docker image..." -ForegroundColor Yellow docker-compose build if ($LASTEXITCODE -ne 0) { Write-Host "✗ Build failed" -ForegroundColor Red exit 1 } Write-Host "✓ Build completed" -ForegroundColor Green } # Остановка существующего контейнера Write-Host "Stopping existing container..." -ForegroundColor Yellow docker-compose down 2>$null Write-Host "✓ Existing container stopped" -ForegroundColor Green # Запуск сервера Write-Host "Starting BGP server..." -ForegroundColor Yellow docker-compose up -d if ($LASTEXITCODE -eq 0) { Write-Host "✓ BGP server started successfully" -ForegroundColor Green # Ожидание запуска Write-Host "Waiting for server to initialize..." -ForegroundColor Yellow Start-Sleep -Seconds 10 # Проверка статуса Write-Host "Checking server status..." -ForegroundColor Yellow $status = docker-compose ps Write-Host $status if ($Logs) { Write-Host "Showing logs..." -ForegroundColor Yellow docker-compose logs -f bgp-server } if ($Monitor) { Write-Host "Starting monitoring..." -ForegroundColor Yellow docker exec bgp-server python3 /app/scripts/monitor.py } } else { Write-Host "✗ Failed to start BGP server" -ForegroundColor Red Write-Host "Check logs with: docker-compose logs bgp-server" -ForegroundColor Yellow exit 1 } Write-Host "=== Setup Complete ===" -ForegroundColor Green Write-Host "Useful commands:" -ForegroundColor Cyan Write-Host " View logs: docker-compose logs -f bgp-server" -ForegroundColor White Write-Host " Check status: docker-compose ps" -ForegroundColor White Write-Host " Stop server: docker-compose down" -ForegroundColor White Write-Host " Monitor: docker exec bgp-server python3 /app/scripts/monitor.py" -ForegroundColor White