Самостоятельный Dashboard Glance: установка и настройка

Создайте личный хаб с Glance — self‑hosted дашбордом в Docker. Подключите виджеты, настройте мониторинг и кастомизацию за несколько минут.

Не указано
Алексей Кузнецов
Алексей Кузнецов
Системный администратор17 января 2026 г.

Подготовка окружения

Создайте директорию для конфигурации Glance, чтобы хранить все настройки в одном месте.

mkdir -p /opt/glance
cd /opt/glance

Создание docker-compose.yml

Создайте файл docker-compose.yml для запуска Glance в контейнере. Важно пробросить папку конфигов и порт 8080. Для работы виджета Docker пробрасываем сокет (опционально).

version: "3.3"

services:
  glance:
    image: glanceapp/glance:latest
    container_name: glance
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./config:/app/config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - TZ=Europe/Moscow # Установите ваш часовой пояс

Запуск контейнера

Запустите контейнер и дождитесь его инициализации. После первого запуска Glance автоматически создаст дефолтный файл конфигурации.

docker compose up -d

Настройка конфигурации (glance.yml)

Отредактируйте файл ./config/glance.yml. В примере ниже добавлены виджеты: поиск, ссылки на сервисы (Filebrowser, Portainer), мониторинг Docker-контейнеров и RSS-лента Хабра.

pages:
  - name: Dashboard
    columns:
      - size: small
        widgets:
          - type: search
            target: _blank
            provider: DuckDuckGo

          - type: links
            items:
              - title: Filebrowser
                url: http://192.168.1.100:8085
                icon: https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4c1.svg
              - title: Portainer
                url: http://192.168.1.100:9000
                icon: https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/2699-fe0f.svg

      - size: medium
        widgets:
          - type: docker
            show_healthy_only: true

          - type: rss
            cache: 1h
            style: list
            limit: 5
            feeds:
              - url: https://habr.com/ru/rss/best/daily/?fl=ru
                title: "Хабр: Лучшие"

Применение изменений

После сохранения изменений в конфигурационном файле перезапустите контейнер для применения настроек.

docker compose restart

Self-hosted Dashboard: Как создать собственную панель мониторинга и управления с Glance

Введение

В homelab рано или поздно возникает потребность в центральной точке доступа. Закладки в браузере не масштабируются, а поиск нужного сервиса через DNS-имена утомляет. Личный дашборд решает эту проблему, предоставляя единую страницу для доступа к самохостинговым сервисам, мониторингу состояния систем и RSS-лентам.

Glance — это self-hosted панель, которая не требует базы данных, написана на Go и работает в Docker. Она объединяет в себе функциональность стартера приложений (ссылки), виджетов мониторинга (Docker, системные метрики) и агрегатора контента (RSS, погода).

Обзор Glance: Простота, модульность и легкость развертывания

Ключевые преимущества Glance для homelab:

  • Никаких зависимостей: Не требует PostgreSQL или Redis. Вся конфигурация в одном YAML-файле.
  • Легковесность: Использует Alpine Linux, размер образа менее 15 МБ.
  • Гибкость: Поддерживает мониторинг Docker-контейнеров, системные метрики (CPU, RAM, Disk), встроенные RSS-ридеры и быстрые ссылки.
  • Внешний вид: Темная тема по умолчанию, кастомизация через CSS и Markdown.

Быстрый старт: Установка Glance через Docker Compose

Мы развернем Glance в Docker. Это займет 5 минут.

Шаг 1: Подготовка окружения

Создайте отдельную директорию для конфигурации:

mkdir -p /opt/glance
cd /opt/glance

Шаг 2: Создание docker-compose.yml

Создайте файл docker-compose.yml. Важно пробросить порт 8080 (или любой другой свободный) и папку с конфигами.

version: "3.3"

services:
  glance:
    image: glanceapp/glance:latest
    container_name: glance
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./config:/app/config
      - /var/run/docker.sock:/var/run/docker.sock:ro # Для мониторинга контейнеров (опционально)
    environment:
      - TZ=Europe/Moscow # Установите ваш часовой пояс

Шаг 3: Запуск и инициализация

Запустите контейнер:

docker compose up -d

После первого запуска Glance создаст дефолтный конфиг в папке config. Проверьте его наличие:

ls -l ./config
# Должен появиться файл glance.yml

Шаг 4: Проверка доступности

Откройте браузер и перейдите по адресу: http://<IP-ВАШЕГО-СЕРВЕРА>:8080. Вы увидите стандартный интерфейс с виджетами.

Конфигурация: Подключение виджетов

Весь интерфейс управляется файлом ./config/glance.yml. Остановите контейнер перед редактированием (docker compose stop), чтобы изменения применились после перезапуска.

Ниже приведены примеры популярных виджетов.

1. Быстрые ссылки (Кнопки доступа к сервисам)

Это основной блок для навигации по хомелабу.

pages:
  - name: Главная
    columns:
      - size: small
        widgets:
          - type: links
            items:
              - title: Filebrowser
                url: http://192.168.1.100:8085
                icon: https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4c1.svg
              - title: Portainer
                url: http://192.168.1.100:9000
                icon: https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/2699-fe0f.svg
              - title: WireGuard
                url: http://192.168.1.100:51821
                icon: https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f512.svg

2. Мониторинг Docker-контейнеров

Glance может показывать статус контейнеров и управлять ими (через Docker API). Для этого нужно пробросить docker.sock (уже сделано в docker-compose.yml).

          - type: docker
            show_healthy_only: true # Показывать только работающие
            show_unhealthy_only: false
            container_name_prefix: "container-" # Префикс для имен (опционально)

3. Системные метрики (CPU, RAM, Disk)

Для работы этого виджета нужно установить glance-system (сайдкар) или использовать встроенный мониторинг (требует прав доступа). Проще всего использовать встроенные возможности, если контейнер имеет доступ к хосту.

          - type: system
            disk_path: / # Путь к мониторингу диска внутри контейнера (нужен volume mapping host:/host)
            # В docker-compose.yml нужно добавить:
            # volumes:
            #   - /:/host:ro

Важно: Без проброса корневой файловой системы (/:/host:ro) виджет диска работать не будет.

4. RSS-ленты (Агрегатор новостей)

Виджет для чтения новостей прямо с дашборда.

          - type: rss
            cache: 1h # Как часто обновлять
            style: list # grid или list
            limit: 5
            feeds:
              - url: https://habr.com/ru/rss/best/daily/?fl=ru
                title: "Хабр: Лучшие"
              - url: https://xakep.ru/feed/
                title: "Xakep"

5. Погода

          - type: weather
            location: Moscow, RU # Ваш город
            unit: metric # Цельсий
            key: <API_KEY_FROM_OPENWEATHERMAP> # Нужен бесплатный ключ

Полный пример конфигурации

Скомбинируем всё в один файл config/glance.yml:

pages:
  - name: Dashboard
    columns:
      - size: small
        widgets:
          - type: search
            target: _blank
            provider: DuckDuckGo

          - type: links
            items:
              - title: Home Assistant
                url: http://192.168.1.50:8123
                icon: https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4bb.svg
              - title: Plex
                url: http://192.168.1.50:32400/web
                icon: https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3a5.svg

      - size: medium
        widgets:
          - type: docker
            filter: false # Показать все контейнеры

          - type: rss
            cache: 30m
            feeds:
              - url: https://news.ycombinator.com/rss
                title: Hacker News

После редактирования перезапустите контейнер:

docker compose restart

Продвинутый уровень: Кастомизация интерфейса и стилей

Glance позволяет менять CSS прямо в конфиге. Это полезно для тонкой настройки под ваши нужды.

Изменение темы и шрифтов

В корне конфига (не внутри pages) добавьте секцию theme:

theme:
  background-color: "#0d1117" # Темный фон (как у GitHub)
  primary-color: "#58a6ff"    # Основной цвет акцентов
  secondary-color: "#161b22"  # Вторичный фон виджетов
  font-family: "Inter, system-ui, sans-serif"
  border-radius: "8px"        # Скругление углов

Кастомный CSS (Advanced)

Вы можете переопределить любые CSS-переменные или стили элементов:

custom-css: |
  .widget-container {
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
  }
  .link-item:hover {
    transform: translateY(-2px);
    transition: 0.2s;
  }

Идеи для интеграций: Как Glance заменяет несколько сервисов

Glance может стать хабом, заменяющим сторонние сервисы:

  1. Замена Homepage/Dashy: Glance проще в настройке (один файл) и быстрее загружается.
  2. Агрегация уведомлений: С помощью RSS виджета вы можете получать уведомления о обновлениях ПО, если настроите RSS-фида для GitHub Releases.
  3. Мониторинг "на лету": Виджет Docker заменяет простые панели управления (например, базовый просмотр контейнеров в Portainer), если вам нужно только видеть статус (On/Off).
  4. Удаленный доступ: Используйте Glance как стартовую страницу в WireGuard, чтобы быстро перейти к любому сервису внутри сети.

Заключение

Glance — это "точное оружие" для homelab. Он не перегружен лишним функционалом, не требует сложной инфраструктуры и отлично смотрится на любом устройстве. За один вечер вы можете собрать дашборд, который будет отражать состояние вашей домашней лаборатории и давать быстрый доступ к нужным инструментам.

Что делать дальше:

  1. Запустите контейнер по инструкции выше.
  2. Добавьте 3-5 ссылок на ваши главные сервисы.
  3. Подключите RSS-ленту любимого блога.
  4. Экспериментируйте с цветами в custom-css.

Удачи в настройке!

Поделиться:TelegramX / TwitterVK