- AGENTS.md: homepage/transcriber собираются ролью app_image, registry-плейбуков и vars/transcriber.images.yml больше нет - local-image-build: закрыты шаги по homepage и transcriber, остался вынос yc_*-переменных из vault; добавлены замеры архивов - container-hardening-nits: снят пункт про плавающий `:latest` у homepage
1.5 KiB
1.5 KiB
Мелкий хардненинг контейнеров
Приоритет: низкий
no-new-privileges: ни один compose-шаблон не задаётsecurity_opt: ["no-new-privileges:true"]. Добавить всем — одна строка, режет эскалацию через setuid-бинарники в образах.- non-root
user:: без него работают caddyproxy, gramps (данные в/root/.gramps), rssbridge, dozzle, homepage и valkey/postgres-сайдкары gramps. Дотянуть там, где образ позволяет (rssbridge, valkey) — продолжение уже принятой в проекте практики. homepage на— снято: переход на роль:latestapp_image(local-image-build) дал каждому деплою уникальный тег изBUILD_ID, плавающегоlatestбольше нет ни у homepage, ни у остальных.- Соглашение о портах: зафиксировать в AGENTS.md, что новые
ports:— только с127.0.0.1:. Docker публикует порты мимо UFW, поэтому дисциплина localhost-биндинга — единственный контроль (сейчас соблюдается: apprise, wanderer).
Из sec-ревью (fable, 2026-07-13).
Связано: все files//docker-compose.template.yml, vars/homepage.yml, AGENTS.md.