feat: конфигурация Glance с виджетами и скриптами развертывания

- Главная конфигурация home.yml и виджеты (countdown, qbittorrent)
- PowerShell и Bash скрипты для автоматической загрузки на сервер
- Обновлен README с документацией
This commit is contained in:
2025-12-06 09:45:17 +03:00
parent c9748f1bbd
commit abd62d8f73
8 changed files with 987 additions and 1 deletions

71
upload-glance-config.ps1 Normal file
View 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