domovoy/README.md

92 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Домовой
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 <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}
```
## Запуск
```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