Files
glance/upload-glance-config.ps1
Dokril abd62d8f73 feat: конфигурация Glance с виджетами и скриптами развертывания
- Главная конфигурация home.yml и виджеты (countdown, qbittorrent)
- PowerShell и Bash скрипты для автоматической загрузки на сервер
- Обновлен README с документацией
2025-12-06 09:45:17 +03:00

72 lines
3.3 KiB
PowerShell
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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