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 на
:latest(vars/homepage.yml) — плавающий тег + ночнойdocker image pruneможет подтянуть другое содержимое без отката. Перевести на иммутабельный<sha>-<timestamp>по образцу transcriber (vars/transcriber.images.yml). - Соглашение о портах: зафиксировать в 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.