feat: конфигурация Glance с виджетами и скриптами развертывания
- Главная конфигурация home.yml и виджеты (countdown, qbittorrent) - PowerShell и Bash скрипты для автоматической загрузки на сервер - Обновлен README с документацией
This commit is contained in:
71
upload-glance-config.ps1
Normal file
71
upload-glance-config.ps1
Normal file
@@ -0,0 +1,71 @@
|
||||
# PowerShell скрипт для обновления конфигурации Glance
|
||||
# Использование: .\upload-glance-config.ps1 [LOCAL_DIR] [USER] [HOST]
|
||||
|
||||
param(
|
||||
[string]$LocalDir = ".",
|
||||
[string]$User = "root",
|
||||
[string]$RemoteHost = "192.168.50.114"
|
||||
)
|
||||
|
||||
$RemoteGlanceConfig = "/opt/glance/config"
|
||||
$SshOpts = @("-q", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null")
|
||||
$ScpOpts = @("-q", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null")
|
||||
|
||||
# Функция для выхода с ошибкой
|
||||
function Exit-OnError {
|
||||
param([string]$Message)
|
||||
Write-Host "Ошибка: $Message" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Проверяем наличие локальной директории glance
|
||||
if (-not (Test-Path $LocalDir -PathType Container)) {
|
||||
Exit-OnError "Директория $LocalDir не найдена!"
|
||||
}
|
||||
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "Обновление конфигурации Glance" -ForegroundColor Cyan
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
|
||||
# 1. Загружаем home.yml на сервер
|
||||
$LocalHomeYml = Join-Path $LocalDir "home.yml"
|
||||
if (Test-Path $LocalHomeYml -PathType Leaf) {
|
||||
Write-Host "`n📄 Загружаем главный файл конфигурации..." -ForegroundColor Yellow
|
||||
|
||||
& scp @ScpOpts $LocalHomeYml "${User}@${RemoteHost}:${RemoteGlanceConfig}/glance.yml"
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Exit-OnError "Ошибка при загрузке home.yml"
|
||||
}
|
||||
Write-Host "✅ home.yml успешно загружен" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "⚠️ Файл home.yml не найден в $LocalDir" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
# 2. Загружаем директорию widgets рекурсивно
|
||||
$LocalWidgetsDir = Join-Path $LocalDir "widgets"
|
||||
if (Test-Path $LocalWidgetsDir -PathType Container) {
|
||||
Write-Host "`n📦 Загружаем директорию widgets..." -ForegroundColor Yellow
|
||||
|
||||
# Создаем директорию widgets на сервере, если не существует
|
||||
& ssh @SshOpts "${User}@${RemoteHost}" "mkdir -p ${RemoteGlanceConfig}/widgets"
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Exit-OnError "Не удалось создать директорию widgets на сервере"
|
||||
}
|
||||
|
||||
# Копируем все файлы из widgets рекурсивно
|
||||
& scp @ScpOpts -r "$LocalWidgetsDir/*" "${User}@${RemoteHost}:${RemoteGlanceConfig}/widgets/"
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Exit-OnError "Ошибка при загрузке директории widgets"
|
||||
}
|
||||
Write-Host "✅ Директория widgets успешно загружена" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "⚠️ Директория widgets не найдена в $LocalDir" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host "`n========================================" -ForegroundColor Cyan
|
||||
Write-Host "Конфигурация успешно обновлена! 🎉" -ForegroundColor Green
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "Примечание: Glance автоматически перезагрузит конфигурацию" -ForegroundColor Yellow
|
||||
Reference in New Issue
Block a user