# 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).