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

161
README.md
View File

@@ -1,2 +1,161 @@
# glance
# Glance Dashboard Configuration
Конфигурация для [Glance](https://github.com/glanceapp/glance) - минималистичного дашборда для самостоятельного хостинга.
## 📁 Структура проекта
```
glance/
├── home.yml # Главный файл конфигурации
├── widgets/ # Отдельные виджеты (модульная структура)
│ ├── bookmarks-homelab.yml # Закладки Homelab
│ ├── qbittorrent.yml # Виджет qBittorrent
│ └── ... # Другие виджеты
├── upload-glance-config.sh # Shell скрипт для загрузки конфигурации
├── upload-glance-config.ps1 # PowerShell обертка (использует WSL)
└── README.md # Этот файл
```
## 🚀 Установка и настройка
### Требования
**Для Linux/macOS:**
- `bash`
- `ssh` и `scp` (обычно предустановлены)
- SSH доступ к серверу с Glance
**Для Windows:**
- [WSL (Windows Subsystem for Linux)](https://docs.microsoft.com/ru-ru/windows/wsl/install)
- PowerShell 5.1+ (предустановлен в Windows 10/11)
- SSH доступ к серверу с Glance
### Установка WSL (только для Windows)
```powershell
# Запустите PowerShell от имени администратора
wsl --install
```
После установки перезагрузите компьютер.
## 📤 Загрузка конфигурации на сервер
### Linux/macOS
```bash
# С параметрами по умолчанию (./glance, root@192.168.50.114)
./upload-glance-config.sh
# С произвольными параметрами
./upload-glance-config.sh /path/to/glance username 192.168.50.100
```
### Windows
```powershell
# С параметрами по умолчанию
.\upload-glance-config.ps1
# С произвольными параметрами
.\upload-glance-config.ps1 -LocalDir "e:\repos\glance" -User "root" -Host "192.168.50.114"
# Или в кратком виде
.\upload-glance-config.ps1 "e:\repos\glance" "root" "192.168.50.114"
```
> **Примечание:** PowerShell скрипт является оберткой, которая вызывает shell скрипт через WSL, избегая дублирования кода.
## ⚙️ Параметры скрипта
| Параметр | Описание | Значение по умолчанию |
|----------|----------|----------------------|
| `LOCAL_DIR` / `-LocalDir` | Локальная директория с конфигурацией | `./glance` |
| `USER` / `-User` | Пользователь SSH | `root` |
| `HOST` / `-Host` | IP адрес или hostname сервера | `192.168.50.114` |
## 📋 Что делает скрипт
1. **Загружает `home.yml`**`/opt/glance/config/glance.yml` на сервере
2. **Синхронизирует директорию `widgets/`**`/opt/glance/config/widgets/` на сервере
3. **Автоматически создает** необходимые директории на сервере
4. **Проверяет наличие** файлов и директорий перед загрузкой
> Glance автоматически перезагружает конфигурацию при обнаружении изменений.
## 🎨 Модульная структура виджетов
Конфигурация использует функцию `include` для организации виджетов:
```yaml
# В home.yml
pages:
- name: Главная
columns:
- size: full
widgets:
- type: include
path: widgets/bookmarks-homelab.yml
```
### Преимущества модульной структуры
- ✅ Легче управлять и редактировать отдельные виджеты
- ✅ Переиспользование виджетов в разных страницах
- ✅ Простота версионирования и отладки
- ✅ Чище git история изменений
## 🔧 Настройка SSH ключей (рекомендуется)
Для автоматической загрузки без ввода пароля:
```bash
# Сгенерируйте SSH ключ (если еще не создан)
ssh-keygen -t ed25519 -C "glance-config"
# Скопируйте ключ на сервер
ssh-copy-id root@192.168.50.114
```
## 🐛 Устранение неполадок
### Windows: "wsl: команда не найдена"
Убедитесь, что WSL установлен:
```powershell
wsl --version
```
Если WSL не установлен, выполните:
```powershell
wsl --install
```
### Ошибка SSH подключения
Проверьте подключение вручную:
```bash
ssh root@192.168.50.114
```
### Директория не найдена
Убедитесь, что вы запускаете скрипт из правильной директории:
```bash
# Linux/macOS
ls -la glance/
# PowerShell
Get-ChildItem glance/
```
## 📚 Полезные ссылки
- [Glance Documentation](https://github.com/glanceapp/glance)
- [Glance Configuration Examples](https://github.com/glanceapp/glance/blob/main/docs/configuration.md)
- [WSL Documentation (RU)](https://docs.microsoft.com/ru-ru/windows/wsl/)
## 📝 Лицензия
Этот проект следует лицензии основного проекта [Glance](https://github.com/glanceapp/glance).