chore: docker compose, dockerfiles, caddy snippet, readme
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
This commit is contained in:
42
README.md
Normal file
42
README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Hado — 波 · ядро умных уведомлений
|
||||
|
||||
Сервисы пушат события с датой, ядро само считает каскад напоминаний, окна и
|
||||
доставляет туда, где ты сейчас доступен (веб, Telegram, webhook/Home Assistant).
|
||||
Спека: `docs/superpowers/specs/2026-09-03-hado-core-design.md`.
|
||||
|
||||
## Dev
|
||||
|
||||
```bash
|
||||
cp core/.env.example core/.env
|
||||
docker compose up -d --build
|
||||
docker compose exec app php artisan key:generate
|
||||
docker compose exec app php artisan migrate
|
||||
docker compose exec app php artisan hado:source:create docs # токен печатается один раз
|
||||
```
|
||||
|
||||
- http://localhost:8080/ — инбокс (нужен заголовок `X-Remote-User`; локально: расширение
|
||||
браузера для заголовков или `curl -H 'X-Remote-User: nikita' localhost:8080/me`)
|
||||
- `PUT /api/events` с `Authorization: Bearer <токен>` — см. спеку §5
|
||||
|
||||
Тесты локально: `cd core && php artisan test` (SQLite in-memory, нужны расширения
|
||||
`pdo_sqlite`, `intl` в php.ini). Стиль: `vendor/bin/pint`.
|
||||
|
||||
## Telegram
|
||||
|
||||
1. Создай бота у @BotFather, положи токен и username в `core/.env`.
|
||||
2. Придумай `TELEGRAM_WEBHOOK_SECRET`, зарегистрируй webhook:
|
||||
`curl "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://hado.<домен>/hooks/telegram&secret_token=<SECRET>"`
|
||||
3. В инбоксе «Подключить Telegram» → отправь боту `/start <код>`.
|
||||
|
||||
## Home Assistant
|
||||
|
||||
В инбоксе добавь webhook-канал: `deliver_url` — HA webhook-триггер
|
||||
(`https://ha/api/webhook/<id>`), `presence_url` — любой URL, отвечающий
|
||||
`{"present": true|false}` (например, template-сенсор через REST API или Node-RED).
|
||||
Автоматизация в HA получает JSON `{event, actions}` и может дёрнуть `actions.done`
|
||||
POST-ом без авторизации.
|
||||
|
||||
## Прод
|
||||
|
||||
`core/Dockerfile` (serversideup/php), compose с `scheduler` и `worker`, Caddy —
|
||||
`deploy/Caddyfile.snippet` в хаб sekai.
|
||||
Reference in New Issue
Block a user