# Домовой 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 и ничего не меняет на удалённых хостах. ## Установка ```bash git clone cd domovoy cp .env.example .env # Отредактируйте .env: задайте APP_SECRET, ENCRYPTION_KEY, DB_PASSWORD. # Если 8080 занят, измените DOMOVOY_HTTP_PORT. ./scripts/bootstrap.sh # Откройте http://localhost:${DOMOVOY_HTTP_PORT:-8080} ``` ## Запуск ```bash ./scripts/bootstrap.sh # Скрипт поднимает контейнеры, ждёт БД, применяет новые миграции # и запускает scan worker. ``` Сетевое сканирование выполняется не web-запросом, а отдельным контейнером `domovoy-worker`. Если scan job висит в `pending`, проверьте worker: ```bash docker compose ps worker docker compose logs -f worker ``` Для первого пользователя откройте `/setup` в браузере или выполните: ```bash docker compose exec app php bin/console setup:user admin 'change-this-password' ``` ## Миграции ```bash 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 ``` Обычный запуск через `./scripts/bootstrap.sh` уже выполняет `phinx migrate`. Ручной запуск нужен только для обслуживания или отладки. ## Smoke test ```bash ./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