2.8 KiB
2.8 KiB
Домовой
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.
# Если 8080 занят, измените DOMOVOY_HTTP_PORT.
./scripts/bootstrap.sh
# Откройте http://localhost:${DOMOVOY_HTTP_PORT:-8080}
Запуск
./scripts/bootstrap.sh
# Скрипт поднимает контейнеры, ждёт БД, применяет новые миграции
# и запускает scan worker.
Сетевое сканирование выполняется не web-запросом, а отдельным контейнером
domovoy-worker. Если scan job висит в pending, проверьте worker:
docker compose ps worker
docker compose logs -f worker
Для первого пользователя откройте /setup в браузере или выполните:
docker compose exec app php bin/console setup:user admin 'change-this-password'
Миграции
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
./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