diff --git a/README.md b/README.md index 1c8c77b..5ba9692 100644 --- a/README.md +++ b/README.md @@ -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). diff --git a/home.yml b/home.yml new file mode 100644 index 0000000..09841e7 --- /dev/null +++ b/home.yml @@ -0,0 +1,60 @@ +theme: + name: nord + +pages: + - name: Home + columns: + - size: small + widgets: + - type: calendar + first-day-of-week: monday + - type: repository + repository: awesome-selfhosted/awesome-selfhosted + - type: rss + title: News + limit: 5 + feeds: + - url: https://habr.com/ru/rss/all/ + title: Habr + + - size: full + widgets: + - type: search + search-engine: google + - $include: widgets/countdown.yml + - $include: widgets/bookmarks-general.yml + - $include: widgets/bookmarks-homelab.yml + + - size: small + widgets: + - type: clock + title: Time + - type: to-do + - type: custom-api + title: Immich stats + cache: 1d + url: http://192.168.50.101:2283/api/server/statistics + headers: + x-api-key: izNdobgXRRg7agxZzEQvNEKpsnwPT8x0cs6Vi7E + Accept: application/json + template: | +
Error fetching qBittorrent data.
+Check URL and authentication bypass settings.
+