Как сделать дашборд домашнего сервера на Raspberry Pi 5

Узнайте, как создать персональный дашборд для управления вашим homelab на Raspberry Pi 5. Пошаговое руководство по установке, настройке и безопасности дашборда.

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

Подготовка оборудования и установка ОС

Подготовьте Raspberry Pi 5, установите Raspberry Pi OS Lite с помощью Raspberry Pi Imager. Настройте SSH и базовые параметры системы.

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget htop git

Установка Docker и Docker Compose

Установите Docker и Docker Compose на Raspberry Pi 5 для контейнеризации приложений дашборда.

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi
sudo apt install -y docker-compose-plugin
sudo reboot

Установка дашборда (Homer, Yacht или Heimdall)

Выберите один из трех вариантов дашбордов (Homer, Yacht, Heimdall) и установите его с помощью Docker Compose. Homer рекомендуется для простоты использования.

version: '3'
services:
  homer:
    image: b4bz/homer:latest
    container_name: homer
    ports:
      - "8080:8080"
    volumes:
      - ./config:/www/config
    restart: unless-stopped

Настройка дашборда и добавление сервисов

Настройте дашборд, добавьте ваши сервисы в конфигурационный файл для быстрого доступа к ним.

services:
  - name: Plex
    logo: plex
    url: http://<IP-адрес-RPi>:32400
    description: Медиасервер
    type: service
  - name: Home Assistant
    logo: homeassistant
    url: http://<IP-адрес-RPi>:8123
    description: Умный дом
    type: service

Настройка безопасности SSL/TLS и защита доступа

Настройте SSL/TLS сертификат с Let's Encrypt и защиту паролем для дашборда, чтобы обеспечить безопасный доступ.

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d <ваш-домен>.ru
sudo htpasswd -c /etc/nginx/.htpasswd ваш-пользователь

Оптимизация производительности и настройка резервного копирования

Настройте автоматическое обновление Docker-контейнеров, оптимизируйте производительность системы и настройте регулярное резервное копирование.

#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/home/pi/backups"
DASHBOARD_DIR="/home/pi/homer"
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/homer_$DATE.tar.gz $DASHBOARD_DIR

Мой дашборд домашней страницы на моем RPi5

Оглавление

Введение: Что такое дашборд и почему он важен для домашнего сервера

Дашборд домашней страницы — это центральная точка входа для всех ваших сервисов и приложений, развернутых на домашнем сервере. Это единое место, где можно получить быстрый доступ к веб-интерфейсам всех ваших домашних сервисов: от домашнего медиасервера и системы умного дома до резервного копирования и сетевых утилит.

Для любого энтузиаста домашнего сервера наличие такого дашборда критически важно. Он позволяет:

  • Иметь быстрый доступ ко всем сервисам в одном месте
  • Упростить навигацию для членов семьи
  • Получить сводную информацию о состоянии сервера и сервисов
  • Сэкономить время на запоминание адресов каждого сервиса

В данной статье мы рассмотрим, как развернуть полнофункциональный дашборд на Raspberry Pi 5 — одном из самых современных и производительных одноплатных компьютеров, отлично подходящих для домашних нужд.

Требования и подготовка: Необходимое оборудование и требования к ПО

Оборудование

  1. Raspberry Pi 5 — основа нашего домашнего сервера
  2. Блок питания USB-C мощностью не менее 27 Вт (рекомендуется 30 Вт)
  3. Карта microSD объемом не менее 32 ГБ (рекомендуется 64 ГБ)
  4. Корпус для Raspberry Pi 5 с охлаждением (рекомендуется активное охлаждение)
  5. Сетевой кабель (Ethernet) для подключения к локальной сети

Программное обеспечение

  • Операционная система: Raspberry Pi OS (Lite или Desktop)
  • Docker и Docker Compose для контейнеризации
  • Веб-сервер (Nginx или Apache)
  • Дополнительные инструменты: curl, wget, htop

Установка операционной системы: Выбор и установка дистрибутива

Выбор дистрибутива

Для дашборда идеально подходит Raspberry Pi OS Lite, так как:

  • Она легкая и не требует графической оболочки
  • Имеет хорошую поддержку оборудования Raspberry Pi
  • Легко обновляется и поддерживается

Установка Raspberry Pi OS Lite

  1. Скачайте Raspberry Pi Imager с официального сайта
  2. Запустите программу и выберите:
    • Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit)
  3. Выберите вашу карту microSD
  4. Настройки:
    • Set hostname: homelab-dash
    • Enable SSH: включите
    • Use username and password: введите логин и пароль
    • Configure wireless LAN (если используете Wi-Fi): введите данные сети
  5. Запишите образ на карту памяти

Первая настройка системы

  1. Вставьте карту в Raspberry Pi 5 и включите устройство
  2. Подключитесь к Raspberry Pi по SSH:
ssh pi@homelab-dash.local
  1. Обновите систему:
sudo apt update && sudo apt upgrade -y
  1. Установите необходимые пакеты:
sudo apt install -y curl wget htop git

Установка Docker и Docker Compose

  1. Установите Docker:
curl -sSL https://get.docker.com | sh
  1. Добавьте пользователя в группу docker:
sudo usermod -aG docker pi
  1. Установите Docker Compose:
sudo apt install -y docker-compose-plugin
  1. Перезагрузите Raspberry Pi:
sudo reboot

Выбор и установка программного обеспечения дашборда: Homer, Yacht, Heimdall

Сравнение дашбордов

ПараметрHomerYachtHeimdall
ИнтерфейсМинималистичныйСовременныйТрадиционный
ВозможностиБазовыеУправление контейнерамиРасширенные настройки
Требования к ресурсамНизкиеСредниеСредние
Поддержка DockerНетДаНет
ЛокализацияРусский языкРусский языкРусский язык
Сложность настройкиНизкаяСредняяНизкая

Homer: Простой и функциональный дашборд

Homer — это легкий дашборд с открытым исходным кодом, который позволяет создавать красивую стартовую страницу для ваших сервисов.

  1. Создайте директорию для Homer:
mkdir homer && cd homer
  1. Создайте файл docker-compose.yml со следующим содержимым:
version: '3'
services:
  homer:
    image: b4bz/homer:latest
    container_name: homer
    ports:
      - "8080:8080"
    volumes:
      - ./config:/www/config
    restart: unless-stopped
  1. Создайте конфигурационный файл:
mkdir config
  1. Запустите Homer:
docker compose up -d
  1. Откройте браузер и перейдите по адресу http://<IP-адрес-RPi>:8080

Yacht: Более продвинутый дашборд

Yacht — это современный дашборд с поддержкой Docker и Docker Compose, который позволяет управлять контейнерами прямо из интерфейса.

  1. Создайте директорию для Yacht:
mkdir yacht && cd yacht
  1. Создайте файл docker-compose.yml:
version: '3.7'
services:
  yacht:
    image: selfhosted/yacht:latest
    container_name: yacht
    ports:
      - "8000:8000"
    volumes:
      - ./config:/config
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
  1. Запустите Yacht:
docker compose up -d
  1. Откройте браузер и перейдите по адресу http://<IP-адрес-RPi>:8000

Heimdall: Полнофункциональный дашборд

Heimdall — это мощный дашборд с множеством функций и красивым интерфейсом.

  1. Создайте директорию для Heimdall:
mkdir heimdall && cd heimdall
  1. Создайте файл docker-compose.yml:
version: '3.7'
services:
  heimdall:
    image: linuxserver/heimdall:latest
    container_name: heimdall
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./config:/config
    restart: unless-stopped
  1. Запустите Heimdall:
docker compose up -d
  1. Откройте браузер и перейдите по адресу http://<IP-адрес-RPi>

Добавление виджетов и сервисов: Настройка различных виджетов и интеграция

Настройка Homer

  1. Откройте конфигурационный файл config.yml в директории config:
# Пример конфигурационного файла Homer
theme: dark
title: Мой домашний сервер
subtitle: Центр доступа ко всем сервисам
header: true
footer: true
columns: 3
# Дополнительные настройки...
  1. Добавьте сервисы в секцию services:
services:
  - name: Plex
    logo: plex
    url: http://<IP-адрес-RPi>:32400
    description: Медиасервер
    type: service
  1. Перезапустите Homer:
docker compose restart

Настройка Yacht

  1. Войдите в интерфейс Yacht по адресу http://<IP-адрес-RPi>:8000
  2. Настройте дашборд в разделе "Dashboards"
  3. Добавьте виджеты для разных сервисов
  4. Настройте доступ к Docker-контейнерам

Настройка Heimdall

  1. Войдите в интерфейс Heimdall при первом запуске
  2. Настройте основные параметры в разделе "Настройки"
  3. Добавьте сервисы в разделе "Сервисы"
  4. Выберите иконки для каждого сервиса
  5. Настройте порядок расположения сервисов

Настройка безопасности: SSL/TLS, защита от несанкционированного доступа

SSL/TLS сертификат с Let's Encrypt

  1. Установите Certbot:
sudo apt install -y certbot python3-certbot-nginx
  1. Получите сертификат:
sudo certbot --nginx -d <ваш-домен>.ru
  1. Настройте автодобновление:
sudo crontab -e

Добавьте строку:

0 12 * * * /usr/bin/certbot renew --quiet

Защита паролем для дашборда

  1. Создайте файл паролей:
sudo htpasswd -c /etc/nginx/.htpasswd ваш-пользователь
  1. Настройте Nginx для аутентификации:
server {
    listen 80;
    server_name <ваш-домен>.ru;

    location / {
        auth_basic "Ограниченный доступ";
        auth_basic_user_file /etc/nginx/.htpasswd;
        proxy_pass http://localhost:8080;  # или порт вашего дашборда
    }
}
  1. Перезапустите Nginx:
sudo systemctl restart nginx

Защита от ботов

  1. Установите Fail2ban:
sudo apt install -y fail2ban
  1. Создайте конфигурационный файл:
sudo nano /etc/fail2ban/jail.local
  1. Добавьте настройки:
[dashboard]
enabled = true
port = http,https
filter = dashboard
logpath = /var/log/nginx/access.log
maxretry = 3
bantime = 3600
  1. Создайте фильтр:
sudo nano /etc/fail2ban/filter.d/dashboard.conf

Содержимое:

[Definition]
failregex = ^<HOST> - - \[.*\] "GET /.*HTTP/1\..".*$
ignoreregex =
  1. Перезапустите Fail2ban:
sudo systemctl restart fail2ban

Дополнительные возможности и настройки: Автоматическое обновление и оптимизация

Автоматическое обновление Docker-контейнеров

  1. Установите скрипт Watchtower:
docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower
  1. Настройте обновление раз в неделю:
docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower \
  --schedule "0 0 * * 0"

Оптимизация производительности

  1. Настрой swap-файл для Raspberry Pi:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  1. Настройка DNS кэширования:
sudo apt install -y dnsmasq
sudo systemctl enable dnsmasq
  1. Настройка ротации логов:
sudo nano /etc/logrotate.d/docker

Содержимое:

/var/lib/docker/containers/*/*.log {
    daily
    rotate 7
    compress
    missingok
    delaycompress
    notifempty
}

Резервное копирование дашборда

  1. Создайте скрипт резервного копирования:
nano backup.sh

Содержимое:

#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/home/pi/backups"
DASHBOARD_DIR="/home/pi/homer"

mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/homer_$DATE.tar.gz $DASHBOARD_DIR
  1. Сделайте скрипт исполняемым:
chmod +x backup.sh
  1. Настройте cron для регулярного резервного копирования:
crontab -e

Добавьте строку:

0 2 * * * /home/pi/backup.sh

Устранение возможных проблем

Проблема: Docker-контейнер не запускается

Решение:

  1. Проверьте логи контейнера:
docker logs <имя_контейнера>
  1. Убедитесь, что все порты свободны:
sudo netstat -tulnp | grep <порт>
  1. Проверьте права доступа к Docker-сокету:
ls -la /var/run/docker.sock

Проблема: Доступ к дашборду извне не работает

Решение:

  1. Проверьте настройки файрвола:
sudo ufw status
  1. Убедитесь, что порт открыт:
sudo ufw allow <порт>
  1. Проверьте настройки маршрутизатора (порт-форвардинг)

Проблема: SSL-сертификат не обновляется автоматически

Решение:

  1. Проверьте логи Certbot:
sudo tail -f /var/log/letsencrypt/letsencrypt.log
  1. Убедитесь, что cron-задача работает:
sudo crontab -l
  1. Ручное обновление для теста:
sudo certbot renew --dry-run

Проблема: Высокая загрузка процессора на Raspberry Pi 5

Решение:

  1. Проверьте активные процессы:
htop
  1. Уменьшите количество запущенных контейнеров
  2. Настройте ограничения ресурсов для контейнеров в docker-compose.yml:
services:
  <имя_сервиса>:
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M

Проблема: Не работают виджеты в дашборде

Решение:

  1. Проверьте URL-адреса сервисов в конфигурации
  2. Убедитесь, что сервисы доступны по указанным адресам
  3. Проверьте совместимость виджетов с вашим дашбордом

Заключение: Итоги и возможные улучшения

Мы рассмотрели, как развернуть полнофункциональный дашборд на Raspberry Pi 5. Теперь у вас есть центральный доступ ко всем вашим домашним сервисам в одном месте, с удобной навигацией и возможностью быстрого добавления новых сервисов.

Возможные улучшения:

  1. Интеграция с системой умного дома — добавление виджетов для отображения состояния устройств
  2. Мониторинг ресурсов — интеграция с Prometheus и Grafana для отслеживания нагрузки на сервер
  3. Уведомления — настройка push-уведомлений о важных событиях
  4. Резервное копирование — автоматическое резервное копирование конфигураций дашборда
  5. Персонализация — настройка тем и виджетов под ваши нужды

Дашборд — это сердце вашего домашнего сервера, и с его помощью вы можете значительно упростить управление всеми своими сервисами. Raspberry Pi 5 с его производительностью и энергоэффективностью отлично подходит для этой задачи, позволяя создать полноценный центр управления без лишних затрат.

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