- роадмап отвечает «что умеет и чего не умеет»: PLAN.md → ROADMAP.md, четыре канонические секции, достигнутые звенья строками в «Готово», цели переформулированы возможностями приложения - задачи: род работы и «Затрагивает» набору спринта, 34 заголовка в форму действия, «Завершение» целей перечнями со ссылкой из каждой задачи - вычитка проходами task-form и doc-wording, починены протухшие факты в README, паспорте и review.md
35 lines
2.5 KiB
Markdown
35 lines
2.5 KiB
Markdown
# Выложить сервис на rivendell
|
||
|
||
- **Секция:** Инфра
|
||
- **Зачем:** Сервис живёт на рабочей машине — телефон достаёт до него только дома
|
||
- **Теги:** goal:deploy
|
||
|
||
Сервис живёт в контейнере на рабочей машине, телефон достаёт до него только
|
||
дома. Вне дома экспорт копится и уезжает пачкой при возвращении — работает, но
|
||
это не то, ради чего заводился всегда доступный VPS.
|
||
|
||
Есть готовый образец: jellybit собирает образ локально и отправляет на сервер
|
||
через `docker save`/`load`, Caddy впереди терминирует TLS. Здесь то же самое.
|
||
|
||
Шаги:
|
||
- сборка образа локально, доставка на rivendell;
|
||
- Caddy: поддомен приёма и поддомен чтения (плюс MCP на нём же);
|
||
- тома под `./data`, конфиг с токенами отдельно, права `0600`.
|
||
|
||
Готово, когда телефон шлёт на публичный адрес из любой сети, а агент читает по
|
||
тому же домену.
|
||
|
||
Зависит от задачи про секреты: выезжать наружу с выключенной проверкой токенов
|
||
нельзя.
|
||
|
||
Этим же переездом закрывается резервное копирование: на сервере пет-проектов
|
||
механизм уже готов, своего заводить не нужно (задача `bekap-dannyh` снята,
|
||
см. `CLOSED.md`). Побочное следствие — до деплоя история существует в одном
|
||
экземпляре на рабочей машине; это и есть цена ожидания.
|
||
|
||
Том стоит смонтировать так, чтобы серверный бекап забирал его без отдельной
|
||
настройки, и снимать копию SQLite через `VACUUM INTO`, а не `cp`: телефон шлёт
|
||
непрерывно, и файл под записью копировать нельзя.
|
||
|
||
Двигает строку «Завершения» цели: «Телефон шлёт на публичный адрес из любой сети, агент читает по тому же домену».
|