- caddyproxy, netdata, authelia, bifrost, remembos: конфиг-задачи нотифаят handler "Restart application" вместо безусловного или условного рестарта - ansible.cfg: force_handlers, иначе упавший прогон теряет notify и рестарт, применяющий правку конфига, не случится уже никогда - authelia рестартит только authelia_app, чтобы не сбрасывать сессии в redis
2.2 KiB
Handlers рестарта для оставшихся приложений
Приоритет: средний
Паттерн handlers + notify внедрён в caddyproxy, netdata, authelia, bifrost,
remembos (см. задачу ansible-handlers-restart, закрыта). Остались плейбуки, где
конфиг bind-моунтится в контейнер, но рестарта нет вообще — правка конфига без
изменения docker-compose.yml не подхватывается до следующего пересоздания
контейнера:
playbook-apprise.yml—server.cfg→config_dir:/config.playbook-dashboard.yml—config/*.yaml→config_dir:/app/config.playbook-transcriber.yml—config.tomlbind-моунтится отдельным файлом ({{ config_file }}:/config/config.toml:ro). Худший случай:templateперезаписывает файл с новым inode, и контейнер продолжает видеть старый до рестарта.playbook-miniflux.yml— файлы секретов ролиsecrets→secrets_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.