Как установить и настроить Homarr на VPS
Когда на сервере крутится десяток сервисов — Portainer, Uptime Kuma, пара CMS, медиасервер, — держать в голове список адресов и портов быстро надоедает. Homarr решает эту задачу: единая стартовая страница со всеми ссылками, статусами и виджетами, которую вы собираете мышкой, а не редактированием YAML. Ниже — установка на VPS через Docker, настройка интеграций и вынос на свой домен с HTTPS.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Что такое Homarr и зачем он нужен
Homarr — self-hosted дашборд-агрегатор с drag-and-drop интерфейсом: вы перетаскиваете плитки сервисов на сетку, группируете их по категориям, добавляете виджеты (погода, календарь, RSS, статус контейнеров) — и всё это без правки конфигов вручную, в отличие от текстовых конкурентов вроде Homer. Ключевая фишка — интеграции: Homarr умеет подключаться к Docker API и показывать состояние контейнеров прямо на плитках, тянуть данные из Portainer, Sonarr/Radarr, Proxmox, качалок торрентов и так далее.
Разница с похожими проектами по сути одна: Homer и Flame настраиваются файлом конфигурации (быстро, но неудобно для нетехнических членов семьи или команды), а Homarr и Dashy — визуальным редактором прямо в браузере. Если вы один на сервере и не боитесь YAML — Homer будет легче ресурсами. Если дашборд смотрят несколько человек или вы часто перекладываете плитки — Homarr удобнее.
Для установки хватит скромного VPS: 1 vCPU и 1 ГБ RAM Homarr переживает нормально, но если на той же машине крутится ещё десяток контейнеров, комфортнее будет с 2 ГБ. Диска нужно немного — сам образ и база занимают меньше 500 МБ.
Подготовка сервера
Понадобится VPS с Docker и docker-compose. Если Docker ещё не стоит — разверните его с нуля, инструкция есть в статье про установку Docker с нуля на Ubuntu 24.04. Дальше всё делаем от пользователя с правами на Docker (в группе docker, без постоянного sudo перед каждой командой).
Создайте рабочую директорию и папку для данных:
mkdir -p ~/homarr/data/configs ~/homarr/data/icons ~/homarr/data/data
cd ~/homarr
Homarr с версии 1.x хранит настройки в SQLite и переменной SECRET_ENCRYPTION_KEY, которая шифрует сохранённые пароли интеграций (токены Portainer, API-ключи Sonarr и т.п.). Сгенерируйте её один раз и сохраните — при потере ключа расшифровать сохранённые credentials не получится, придётся вводить их заново:
openssl rand -hex 32
Скопируйте результат — он пойдёт в docker-compose.yml.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверdocker-compose.yml для Homarr
Базовый файл, который поднимает Homarr с доступом к Docker-сокету для мониторинга контейнеров:
services:
homarr:
image: ghcr.io/homarr-labs/homarr:latest
container_name: homarr
restart: unless-stopped
environment:
- SECRET_ENCRYPTION_KEY=вставьте_сюда_сгенерированный_ключ
volumes:
- ./data/configs:/app/data/configs
- ./data/icons:/app/public/icons
- ./data/data:/data
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- "7575:7575"
Обратите внимание на монтирование /var/run/docker.sock — без него интеграция с Docker (статусы контейнеров прямо на плитках) не заработает. Это удобно, но повышает требования к доверию контейнеру: процесс внутри получает возможность управлять Docker на хосте. Для личного сервера с проверенным образом это приемлемый риск, но если сервер общий или образ вызывает сомнения — эту строку можно убрать, потеряв только виджет статуса контейнеров, остальной функционал не пострадает.
Поднимаем:
docker compose up -d
docker compose logs -f homarr
Первый старт занимает 10-20 секунд — Homarr инициализирует базу и применяет миграции. После этого сервис доступен на http://IP-сервера:7575.
Первичная настройка и создание учётной записи
При первом заходе Homarr предложит создать администратора — логин, email (можно фиктивный, если не нужны уведомления) и пароль. Дальше открывается пустая доска (board) с сеткой для плиток.
Базовые шаги настройки:
- Добавление приложений. Кнопка добавления плитки → «App» → указываете название, URL сервиса, иконку (Homarr тянет иконки автоматически из встроенной библиотеки dashboard-icons по названию, ручная загрузка тоже доступна) и, если нужно, — данные для интеграции.
- Группировка. Плитки можно объединять в категории («Инфраструктура», «Медиа», «Разработка») — это просто визуальные секции на доске, перетаскиваются вместе с содержимым.
- Виджеты. Отдельно от плиток-ссылок добавляются виджеты: часы, погода, календарь (по iCal-ссылке), RSS-лента, заметки. Полезны, если дашборд — по совместительству домашняя страница браузера.
- Несколько досок. Если сервисов много и они логически разные (личные / рабочие / медиасервер), можно завести несколько досок и переключаться между ними — в бесплатной версии это тоже доступно.
Расположение плиток сохраняется автоматически при перетаскивании, никаких кнопок «Сохранить» искать не нужно.
Подключение интеграций
Самая полезная часть Homarr — не просто ссылки, а живые данные с ваших сервисов. Настраивается в разделе управления интеграциями (Settings → Integrations) или прямо в настройках конкретной плитки.
Из практически полезного для типового VPS-стека:
- Docker — если сокет примонтирован (см. выше), Homarr сам находит запущенные контейнеры и предлагает добавить их как плитки со статусом (running/stopped) и кнопками старт/стоп/рестарт прямо с дашборда.
- Portainer — если вы уже управляете контейнерами через Portainer (см. статью про установку Portainer на VPS), Homarr может подключиться по API-ключу Portainer и показать список стеков и их состояние, не дублируя ручную настройку каждого контейнера.
- Uptime Kuma — если сайты и сервисы уже мониторятся через Uptime Kuma, можно вывести статусы аптайма прямо на дашборд как виджет.
- **\*arr-стек** (Sonarr, Radarr, Prowlarr) — популярно для домашних медиасерверов, показывает очередь загрузок и статистику библиотеки.
Для каждой интеграции нужен API-ключ или токен целевого сервиса — генерируется в настройках самого сервиса (например, в Portainer это раздел «API keys» в профиле пользователя). Ключ вводится один раз и хранится зашифрованным с помощью SECRET_ENCRYPTION_KEY, которую вы задали при первом запуске.
Вынос на домен через реверс-прокси и HTTPS
По умолчанию Homarr слушает HTTP на порту 7575 без TLS — для доступа из интернета этого недостаточно, нужен обратный прокси с сертификатом. Если на сервере уже есть Caddy с автоматическим SSL, конфиг получается минимальным — Caddy сам выпускает и продлевает сертификат Let's Encrypt:
homarr.example.com {
reverse_proxy localhost:7575
}
Перезапуск Caddy подхватит новый конфиг:
sudo systemctl reload caddy
Если в инфраструктуре уже стоит Traefik и сервисы объявляют себя через Docker-лейблы, добавьте Homarr в общую сеть с Traefik и пропишите лейблы вместо отдельного конфига — подробно разбор лейблов есть в статье про Traefik на VPS. Для nginx подойдёт стандартный proxy_pass http://127.0.0.1:7575; с проксированием заголовков Upgrade/Connection, поскольку Homarr использует WebSocket для обновления статусов в реальном времени — без проброса этих заголовков плитки не будут обновлять состояние на лету, придётся обновлять страницу вручную.
После настройки прокси порт 7575 наружу лучше закрыть файрволом, оставив доступ только через 80/443:
sudo ufw delete allow 7575
Резервное копирование и обновление
Вся конфигурация Homarr — доски, плитки, настройки интеграций и зашифрованные токены — лежит в смонтированных томах ./data. Бэкап сводится к архивированию этой директории:
docker compose stop homarr
tar czf homarr-backup-$(date +%F).tar.gz data/
docker compose start homarr
Восстановление — обратная операция: распаковать архив в ./data на новом сервере и поднять тот же docker-compose.yml с тем же SECRET_ENCRYPTION_KEY (без него сохранённые пароли интеграций не расшифруются, придётся вводить заново). Если бэкапы Docker-томов у вас уже автоматизированы, логика та же, что описана в статье про бэкап Docker volume на VPS.
Обновление — стандартное для Docker-сервисов:
docker compose pull homarr
docker compose up -d homarr
Перед обновлением на мажорную версию (например, с 0.x на 1.x) стоит свериться с changelog проекта — между крупными релизами Homarr иногда меняет формат хранения конфигурации, и разработчики явно указывают, нужна ли ручная миграция.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Homarr бесплатен?
Да, основной функционал — доски, плитки, виджеты, интеграции — open-source и бесплатен. Публичные обещания разработчиков не выкатывать платную версию звучали неоднократно, но условия использования стоит перепроверять на официальном сайте перед продакшен-развёртыванием.
Нужен ли доступ к Docker-сокету обязательно?
Нет, это опциональная интеграция. Без неё Homarr работает как обычный дашборд-агрегатор ссылок, просто без автоматического статуса контейнеров на плитках.
Можно ли ограничить доступ к дашборду паролем помимо встроенной авторизации?
Да, встроенная система пользователей уже требует логин, но для дополнительного слоя защиты (например, Basic Auth на уровне прокси) можно добавить его в конфиг Caddy или nginx — это не помешает встроенной авторизации Homarr.
Чем Homarr отличается от Homepage (ещё один популярный дашборд)?
Homepage тоже конфигурируется YAML-файлами, как Homer, и целится в тех, кто держит конфиг в git. Homarr — единственный из трёх с полноценным визуальным редактором без правки файлов вручную.
Что делать, если после обновления пропали иконки сервисов?
Иконки в data/icons не должны затрагиваться обновлением образа — если пропали, проверьте, что volume ./data/icons:/app/public/icons не был случайно переопределён в новом compose-файле.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →