- каждая запись каталога задач получила тип вместо тега kind: и префикса заголовка; секция роадмапа «Разработка» стала «Сопровождением», порядок секций канонический - поправлены протухшие факты: нереализованные маршруты Read API, MCP и `healthlog import`, словарь слоёв в инварианте, семантика гейта по покрытию диффа, периметр перестал дублировать security.md - замер слияния переведён с находки 49 на находку 54, заполнены Purpose спек storage и parsing
36 lines
2.5 KiB
Markdown
36 lines
2.5 KiB
Markdown
# ✨ Выложить сервис на rivendell
|
||
|
||
- **Тип:** feature
|
||
- **Категория:** Инфра
|
||
- **Зачем:** Сервис живёт на рабочей машине — телефон достаёт до него только дома
|
||
- **Теги:** goal:deploy
|
||
|
||
Сервис живёт в контейнере на рабочей машине, телефон достаёт до него только
|
||
дома. Вне дома экспорт копится и уезжает пачкой при возвращении — работает, но
|
||
это не то, ради чего заводился всегда доступный VPS.
|
||
|
||
Есть готовый образец: jellybit собирает образ локально и отправляет на сервер
|
||
через `docker save`/`load`, Caddy впереди терминирует TLS. Здесь то же самое.
|
||
|
||
Шаги:
|
||
- сборка образа локально, доставка на rivendell;
|
||
- Caddy: поддомен приёма и поддомен чтения (плюс MCP на нём же);
|
||
- тома под `./data`, конфиг с токенами отдельно, права `0600`.
|
||
|
||
Готово, когда телефон шлёт на публичный адрес из любой сети, а агент читает по
|
||
тому же домену.
|
||
|
||
Зависит от задачи про секреты: выезжать наружу с выключенной проверкой токенов
|
||
нельзя.
|
||
|
||
Этим же переездом закрывается резервное копирование: на сервере пет-проектов
|
||
механизм уже готов, своего заводить не нужно (задача `bekap-dannyh` снята,
|
||
см. `CLOSED.md`). Побочное следствие — до деплоя история существует в одном
|
||
экземпляре на рабочей машине; это и есть цена ожидания.
|
||
|
||
Том стоит смонтировать так, чтобы серверный бекап забирал его без отдельной
|
||
настройки, и снимать копию SQLite через `VACUUM INTO`, а не `cp`: телефон шлёт
|
||
непрерывно, и файл под записью копировать нельзя.
|
||
|
||
Двигает строку «Завершения» цели: «Телефон шлёт на публичный адрес из любой сети, агент читает по тому же домену».
|