diet: заведён плейбук, периметр и бэкапы

- playbook-diet.yml и files/diet: образ через app_image, uid=gid=1111,
  каталоги config/data/cache, backup-targets со строкой data/
- блок сайта в Caddy разделён: /api/* идёт мимо Authelia под собственную
  аутентификацию, клиентские Remote-* срезаются на уровне сайта
- правило Authelia one_factor без subject: пользователи шире группы admins
This commit is contained in:
av
2026-09-06 11:50:40 +03:00
parent 41284ed33f
commit 8e1d5f8112
8 changed files with 238 additions and 0 deletions
+32
View File
@@ -225,6 +225,38 @@ remembos.vakhrushev.me {
}
# diet — дневник питания. Сайт разделён, в отличие от соседей: у ассистента и
# скриптов своя аутентификация (личный токен), через Authelia они пройти не могут.
diet.vakhrushev.me {
tls anwinged@ya.ru
import common
# Заголовки личности ставит только Authelia. Клиентские срезаются на всех
# маршрутах разом, до всякой маршрутизации: приложение источник запроса не
# проверяет, поэтому подделанный заголовок — это подделанная личность.
# copy_headers ниже живёт внутри forward_auth и /api/* не покрывает.
request_header -Remote-User
request_header -Remote-Groups
request_header -Remote-Email
request_header -Remote-Name
# API: своя аутентификация (сессионная кука или личный токен), периметр
# в неё не вмешивается.
handle /api/* {
reverse_proxy diet_app:8080
}
# Всё остальное — клиент и вход — за Authelia.
handle {
forward_auth authelia_app:9091 {
uri /api/authz/forward-auth
copy_headers Remote-User Remote-Groups Remote-Email Remote-Name
}
reverse_proxy diet_app:8080
}
}
calibre.vakhrushev.me {
tls anwinged@ya.ru
import common