Files
pet-project-server/docs/backlog/handlers-remaining-apps.md
T
av 9c156df0c7 Ansible: рестарт контейнеров переведён на handlers
- caddyproxy, netdata, authelia, bifrost, remembos: конфиг-задачи нотифаят
  handler "Restart application" вместо безусловного или условного рестарта
- ansible.cfg: force_handlers, иначе упавший прогон теряет notify и рестарт,
  применяющий правку конфига, не случится уже никогда
- authelia рестартит только authelia_app, чтобы не сбрасывать сессии в redis
2026-07-24 21:05:27 +03:00

2.2 KiB

Handlers рестарта для оставшихся приложений

Приоритет: средний

Паттерн handlers + notify внедрён в caddyproxy, netdata, authelia, bifrost, remembos (см. задачу ansible-handlers-restart, закрыта). Остались плейбуки, где конфиг bind-моунтится в контейнер, но рестарта нет вообще — правка конфига без изменения docker-compose.yml не подхватывается до следующего пересоздания контейнера:

  • playbook-apprise.ymlserver.cfgconfig_dir:/config.
  • playbook-dashboard.ymlconfig/*.yamlconfig_dir:/app/config.
  • playbook-transcriber.ymlconfig.toml bind-моунтится отдельным файлом ({{ config_file }}:/config/config.toml:ro). Худший случай: template перезаписывает файл с новым inode, и контейнер продолжает видеть старый до рестарта.
  • playbook-miniflux.yml — файлы секретов роли secretssecrets_dir:/secrets:ro, читаются через *_FILE при старте.

Заодно проверить playbook-goaccess.yml: конфиг там не монтируется, но Dockerfile/entrypoint.sh меняются без изменения compose-файла — надо убедиться, что build: always действительно пересоздаёт контейнер.

Отдельный кандидат: caddy сейчас перезапускается целиком, хотя умеет caddy reload — применение Caddyfile без разрыва соединений на реверс-прокси, через который идёт весь трафик. В playbook-caddyproxy.yml для этого уже лежит закомментированный блок с docker_compose_v2_exec.

Связано: playbook-apprise.yml, playbook-dashboard.yml, playbook-transcriber.yml, playbook-miniflux.yml, playbook-goaccess.yml, playbook-caddyproxy.yml.