@@ -0,0 +1,96 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user