Homelab Dashboard. Персональный дашборд для homelab-инфраструктуры — быстрый доступ ко всем сервисам с проверкой статуса.
  • Vue 74.5%
  • TypeScript 13.9%
  • JavaScript 10.4%
  • Dockerfile 1.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-20 19:17:13 +03:00
app new status-api, full yggdrasil support, ui changes 2026-04-20 17:38:39 +03:00
public new status-api, full yggdrasil support, ui changes 2026-04-20 17:38:39 +03:00
status-api new status-api, full yggdrasil support, ui changes 2026-04-20 17:38:39 +03:00
.gitignore init 2026-04-20 13:34:05 +03:00
app.config.ts init 2026-04-20 13:34:05 +03:00
docker-compose.lxc.yml add lxc docker-compose override 2026-04-20 19:08:24 +03:00
docker-compose.yml add lxc docker-compose override 2026-04-20 19:08:24 +03:00
Dockerfile init 2026-04-20 13:34:05 +03:00
nginx.conf new status-api, full yggdrasil support, ui changes 2026-04-20 17:38:39 +03:00
nuxt.config.ts init 2026-04-20 13:34:05 +03:00
package-lock.json init 2026-04-20 13:34:05 +03:00
package.json init 2026-04-20 13:34:05 +03:00
README.md Update README.md 2026-04-20 19:17:13 +03:00
tsconfig.json init 2026-04-20 13:34:05 +03:00

Homelab Landing Page

Современная, быстрая и эстетичная стартовая страница для ваших сервисов и серверов. Наверное... Позволяет удобно организовать доступ к локальным и внешним сервисам с мониторингом их состояния в реальном времени.

изображение изображение

🚀 Основные возможности

  • Мониторинг статуса в реальном времени:
    • Основной статус (HTTP/TCP): Большая лампа показывает доступность веб-интерфейса.
    • Микро-статус (ICMP/Ping): Маленькие индикаторы под основной лампой показывают доступность узла по сети (LAN, Yggdrasil и др.) без необходимости раскрывать карточку.
  • Полная поддержка Yggdrasil: Корректная работа с IPv6-адресами Yggdrasil для HTTP-чеков и ICMP-пинга (используется family: 6 и флаг -6 для пинга).
  • Интерактивный интерфейс:
    • Drag-and-drop: Изменяйте порядок карточек перетаскиванием (сохраняется в localStorage).
    • Фильтрация: Мгновенный поиск и фильтры по категориям или сети Yggdrasil.
    • PWA: Устанавливается как приложение, работает оффлайн (кеширование статики).
    • Светлая/Тёмная темы: красота.
  • Sidecar Status API: Выделенный сервис на Node.js для проверки статусов, обходящий ограничения CORS.

Самое главное! Если долго смотреть на фон - он будет менять цвет! Отвал башки!

🛠 Технологический стек

  • Frontend: Nuxt 4, Tailwind CSS, Nuxt UI.
  • Backend: Node.js (Status API) в отдельном контейнере.
  • Proxy/Serve: Nginx.
  • Runtime: Docker & Docker Compose.

📦 Быстрый запуск

  1. Склонируйте репозиторий.
  2. Отредактируйте ваши сервисы в файле app/composables/useLinks.ts.
  3. Запустите сборку:
    docker-compose up -d --build
    
  4. Сайт будет доступен на порту 4444.
  5. Для production рекомендуется поставить за reverse proxy (например Nginx Proxy Manager) с SSL-сертификатом.

LXC (Proxmox unprivileged container) override

В LXC Docker не может пробросить IPv6-маршруты (Yggdrasil и т.д.) в bridge-сеть из-за ограничений unprivileged namespace. Решение: status-api работает в host-сети LXC-контейнера, где все маршруты уже есть. Использование:

docker compose -f docker-compose.yml -f docker-compose.lxc.yml up -d --build

⚙️ Настройка ссылок

Все ссылки и категории настраиваются в файле app/composables/useLinks.ts.

Пример структуры объекта:

{
  name: 'Nginx Proxy Manager',
  description: 'Реверс-прокси',
  url: 'https://npm.local.ru',
  gradient: 'from-green-500 via-emerald-600 to-teal-600',
  icon: 'simple-icons:nginx',
  category: 'Сеть',
  ips: [
    { label: 'Local', addr: '192.168.1.3' },
    { label: 'Yggdrasil', addr: '203:a782:5a4a:488d:dca:e1aa' },
  ],
}

📄 Лицензия

MIT