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

72
upload-glance-config.sh Normal file
View File

@@ -0,0 +1,72 @@
#!/bin/bash
# Скрипт для обновления только конфигурации Glance (без бэкенда)
# Использование: ./upload-glance-config.sh [LOCAL_DIR] [USER] [HOST]
# Параметры по умолчанию
LOCAL_GLANCE_DIR="${1:-./glance}"
REMOTE_USER="${2:-root}"
REMOTE_HOST="${3:-192.168.50.114}"
REMOTE_GLANCE_CONFIG="/opt/glance/config"
SSH_OPTS="-q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
SCP_OPTS="-q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
# Цвета для вывода
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# Функция для выхода с ошибкой
exit_on_error() {
echo -e "${RED}Ошибка: $1${NC}" >&2
exit 1
}
# Проверяем наличие локальной директории glance
if [ ! -d "$LOCAL_GLANCE_DIR" ]; then
exit_on_error "Директория $LOCAL_GLANCE_DIR не найдена!"
fi
echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN}Обновление конфигурации Glance${NC}"
echo -e "${CYAN}========================================${NC}"
# 1. Загружаем home.yml на сервер
LOCAL_HOME_YML="$LOCAL_GLANCE_DIR/home.yml"
if [ -f "$LOCAL_HOME_YML" ]; then
echo -e "\n${YELLOW}📄 Загружаем главный файл конфигурации...${NC}"
scp $SCP_OPTS "$LOCAL_HOME_YML" "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_GLANCE_CONFIG}/glance.yml"
if [ $? -ne 0 ]; then
exit_on_error "Ошибка при загрузке home.yml"
fi
echo -e "${GREEN}✅ home.yml успешно загружен${NC}"
else
echo -e "${YELLOW}⚠️ Файл home.yml не найден в $LOCAL_GLANCE_DIR${NC}"
fi
# 2. Загружаем директорию widgets рекурсивно
LOCAL_WIDGETS_DIR="$LOCAL_GLANCE_DIR/widgets"
if [ -d "$LOCAL_WIDGETS_DIR" ]; then
echo -e "\n${YELLOW}📦 Загружаем директорию widgets...${NC}"
# Создаем директорию widgets на сервере, если не существует
ssh $SSH_OPTS "${REMOTE_USER}@${REMOTE_HOST}" "mkdir -p ${REMOTE_GLANCE_CONFIG}/widgets"
if [ $? -ne 0 ]; then
exit_on_error "Не удалось создать директорию widgets на сервере"
fi
# Копируем все файлы из widgets рекурсивно
scp $SCP_OPTS -r "${LOCAL_WIDGETS_DIR}"/* "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_GLANCE_CONFIG}/widgets/"
if [ $? -ne 0 ]; then
exit_on_error "Ошибка при загрузке директории widgets"
fi
echo -e "${GREEN}✅ Директория widgets успешно загружена${NC}"
else
echo -e "${YELLOW}⚠️ Директория widgets не найдена в $LOCAL_GLANCE_DIR${NC}"
fi
echo -e "\n${CYAN}========================================${NC}"
echo -e "${GREEN}Конфигурация успешно обновлена! 🎉${NC}"
echo -e "${CYAN}========================================${NC}"
echo -e "${YELLOW}Примечание: Glance автоматически перезагрузит конфигурацию${NC}"