Что такое Homer и зачем он нужен
Homer позиционируется как «мертво простой» (dead simple) статический дашборд для серверов. Его главная цель — держать ваши сервисы под рукой, предоставляя единую точку входа. В отличие от тяжелых решений, Homer не требует базы данных или сложного бэкенда: вся логика работает на стороне клиента (HTML/JS), а конфигурация хранится в одном YAML-файле (assets/config.yml).
Это делает проект идеальным для self-hosted решений, где важна минимальная нагрузка на ресурсы и отсутствие необходимости в постоянном обслуживании инфраструктуры.
Ключевые возможности
Проект предлагает набор функций, которые превращают его из простой страницы ссылок в удобный инструмент навигации:
- Умные карточки (Smart cards): Динамическое отображение информации о сервисах.
- Поиск: Поддержка fuzzy search (неточного поиска) для быстрого нахождения нужного сервиса.
- Группировка: Возможность создания нескольких страниц и группировки элементов.
- PWA: Возможность установки дашборда как приложения на мобильные устройства.
- Темизация: Гибкая настройка внешнего вида.
- Горячие клавиши:
Enterдля открытия результата,Alt+Enterдля открытия в новой вкладке,Escдля выхода из режима поиска.
Установка и развертывание
Homer не работает при открытии файла напрямую через протокол file://; его необходимо обслуживать через HTTP-сервер. Основные способы запуска:
Сравнение методов развертывания
| Метод | Требования | Особенности |
|---|---|---|
| Docker | Docker Engine | Изолированное окружение, маппинг портов 8080, поддержка переменных окружения (INIT_ASSETS, SUBFOLDER, PORT). |
| Docker Compose | Docker Compose | Удобное управление через docker-compose.yml, автоматический перезапуск контейнера. |
| Release Tarball | Любой HTTP-сервер (Nginx, Apache, Python http.server) | Готовый архив homer.zip. Требует переименования config.yml.dist в config.yml. |
| Сборка из исходников | Node.js, pnpm | Для разработчиков. Команды: pnpm install, pnpm build. Результат в папке /dist. |
Конфигурация и кастомизация
Основной файл конфигурации assets/config.yml позволяет настраивать:
- Список сервисов с их URL, иконками и описаниями.
- Параметры подпапок (через переменную окружения
SUBFOLDER), что полезно для размещения дашборда по пути видаhttp://my-domain/homer. - Порты прослушивания (по умолчанию 8080).
- Поддержку IPv6 (переменная
IPV6_DISABLE).
Для быстрого старта можно использовать переменную окружения INIT_ASSETS=1, которая автоматически создаст пример конфигурации и необходимые ассеты (фавиконы).
Для кого этот проект
Homer подходит для системных администраторов, DevOps-инженеров и энтузиастов self-hosted, которые хотят иметь красивый, быстрый и не требующий обслуживания интерфейс для доступа к своим внутренним сервисам, таким как Nextcloud, Plex, Home Assistant или панели управления контейнерами.
Источник: Github ↗
