- Миграция devices (name, type, ip, mac, hostname, vendor, os, location, importance, status) - Device model + DeviceRepository с полным CRUD - DeviceService для бизнес-логики - MergeSuggestionService для предложений объединения (MAC→90%, hostname→60%) - DeviceController: список, создание, редактирование, карточка, удаление, создание из discovered_host - Шаблоны: devices/index, devices/form, devices/show - Dashboard с реальными счётчиками (устройства, новые находки) - Кнопка «Создать устройство» в Discovery для новых хостов - DeviceRepository + DeviceService + DeviceController в DI |
||
|---|---|---|
| app | ||
| bin | ||
| db/migrations | ||
| docker | ||
| public | ||
| scripts | ||
| storage | ||
| templates | ||
| .env.example | ||
| .gitignore | ||
| PLAN.md | ||
| README.md | ||
| composer.json | ||
| composer.lock | ||
| docker-compose.yml | ||
| phinx.php | ||
| Проект - Домовой.md | ||
| Техническое задание - Домовой.md | ||
README.md
Домовой
Self-hosted система инвентаризации домашней и малой серверной инфраструктуры.
Что делает
- Сканирует заданные локальные сетевые диапазоны
- Находит устройства и предлагает создать карточки
- После добавления SSH-доступа — read-only deep scan хоста
- Находит сервисы, Docker-контейнеры, nginx vhost-ы, cron-задачи, backup-подсказки
- Создаёт карточки сервисов и связи между устройствами и сервисами
Стек
- PHP 8.3, Slim Framework 4, PDO
- MariaDB
- Bootstrap 5.3, htmx
- Docker Compose
- Phinx (миграции)
Предупреждение
Сканируйте только свои сети. Приложение read-only и ничего не меняет на удалённых хостах.
Установка
git clone <repo>
cd domovoy
cp .env.example .env
# Отредактируйте .env: задайте APP_SECRET, ENCRYPTION_KEY, DB_PASSWORD
docker compose up -d --build
docker compose exec app php vendor/bin/phinx migrate
docker compose exec app php bin/setup first-admin
# Откройте http://localhost:8080
Запуск
docker compose up -d
# http://localhost:8080
Миграции
docker compose exec app php vendor/bin/phinx migrate
docker compose exec app php vendor/bin/phinx rollback
docker compose exec app php vendor/bin/phinx create MigrationName
Smoke test
./scripts/check.sh
Структура
domovoy/
app/ # Controllers, Services, Repositories, Middleware
db/migrations/ # Phinx миграции
public/ # Точка входа, assets
templates/ # PHP шаблоны
bin/ # CLI команды
docker/ # Dockerfile, nginx config
storage/ # логи, scan results
Лицензия
MIT