Самостоятельное хостинг homepage — настройка персонализированной панели управления с Docker
Пошаговый гайд по установке и настройке homepage — домашней панели управления для self-hosting. Интеграции с Docker, Home Assistant, Sonarr, Monit и другие виджеты. 100% бесплатно, на своём сервере.
Создание структуры каталогов и прав доступа
Перейдите в каталог для хранения конфигурации (например, /opt/homepage). Создайте папку для конфигов и установите права доступа, чтобы контейнер мог читать и записывать файлы.
sudo mkdir -p /opt/homepage/config
sudo chown -R 1000:1000 /opt/homepage
cd /opt/homepageСоздание файла docker-compose.yml
Создайте файл docker-compose.yml в корне папки /opt/homepage. Этот файл определяет, как будет запускаться homepage, куда монтировать конфиги и какой порт использовать. Обязательно монтируем /var/run/docker.sock для интеграции с контейнерами.
version: "3.3"
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
ports:
- 3000:3000
volumes:
- ./config:/app/config
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
networks:
- homepage-net
networks:
homepage-net:
driver: bridgeЗапуск контейнера
Запустите контейнер в фоновом режиме с помощью Docker Compose. После запуска проверьте статус контейнера, чтобы убедиться, что он перешел в состояние Up.
docker compose up -d
docker ps -aНастройка основного интерфейса (settings.yaml)
Создайте файл ./config/settings.yaml для задания названия, темы и стиля шапки вашего homepage.
title: Мой Хомелаб
headerStyle: boxed
theme: dark
color: slateНастройка виджетов системы (widgets.yaml)
Создайте ./config/widgets.yaml для добавления виджетов системных ресурсов (CPU, память), поиска и времени.
- resources:
cpu: true
memory: true
disk: /
uptime: true
- search:
provider: duckduckgo
target: _blank
- datetime:
text_size: l
format: HH:mm:ss
locale: ru-RUДобавление сервисов (services.yaml)
Создайте ./config/services.yaml для отображения ссылок на приложения и виджетов статуса (например, Sonarr, Plex). Можно настроить автоматическое получение данных через API.
- Медиа:
- Sonarr:
href: http://192.168.1.100:8989
description: Телесериалы
icon: sonarr
widget:
type: sonarr
url: http://192.168.1.100:8989
key: !secret SONARR_API_KEY
- Plex:
href: http://192.168.1.100:32400
description: Медиацентр
icon: plex
widget:
type: plex
url: http://192.168.1.100:32400
key: !secret PLEX_TOKENБезопасное хранение ключей (secrets.yaml)
Создайте ./config/secrets.yaml для хранения чувствительных данных (API ключи). В docker-compose.yml добавьте монтирование этого файла.
SONARR_API_KEY: "ваш_ключ_sonarr"
PLEX_TOKEN: "ваш_токен_plex"
WEATHER_API_KEY: "ключ_openweathermap"