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