# ✨ Выложить сервис на rivendell

- **Тип:** feature
- **Категория:** Инфра
- **Зачем:** Сервис живёт на рабочей машине — телефон достаёт до него только дома
- **Теги:** goal:deploy

Сервис живёт в контейнере на рабочей машине, телефон достаёт до него только
дома. Вне дома экспорт копится и уезжает пачкой при возвращении — работает, но
это не то, ради чего заводился всегда доступный VPS.

Есть готовый образец: jellybit собирает образ локально и отправляет на сервер
через `docker save`/`load`, Caddy впереди терминирует TLS. Здесь то же самое.

Шаги:
- сборка образа локально, доставка на rivendell;
- Caddy: поддомен приёма и поддомен чтения (плюс MCP на нём же);
- тома под `./data`, конфиг с токенами отдельно, права `0600`.

Готово, когда телефон шлёт на публичный адрес из любой сети, а агент читает по
тому же домену.

Зависит от задачи про секреты: выезжать наружу с выключенной проверкой токенов
нельзя.

Этим же переездом закрывается резервное копирование: на сервере пет-проектов
механизм уже готов, своего заводить не нужно (задача `bekap-dannyh` снята,
см. `CLOSED.md`). Побочное следствие — до деплоя история существует в одном
экземпляре на рабочей машине; это и есть цена ожидания.

Том стоит смонтировать так, чтобы серверный бекап забирал его без отдельной
настройки, и снимать копию SQLite через `VACUUM INTO`, а не `cp`: телефон шлёт
непрерывно, и файл под записью копировать нельзя.

Двигает строку «Завершения» цели: «Телефон шлёт на публичный адрес из любой сети, агент читает по тому же домену».
