034 Публикация стенда как https://rxipam.rxmsk.ru через общий Caddy хоста (Caddyfile вне репозитория):
UI и /api/v1 доступны из интернета, /docs, /redoc, /openapi.json — только из частных сетей
(RFC 1918/4193, loopback). Caddy проксирует на опубликованный порт приложения — общая Docker-сеть
отклонена из-за коллизии имён app/db с Nextcloud. TRUSTED_PROXIES=172.16.0.0/12: реальный IP
клиента из X-Forwarded-For. Интеграционный тест журнала больше не проверяет подделку XFF с хоста
(хост за Caddy доверенный), логику покрывает unit-тест.
035 Дата и IP последнего входа в разделе «Пользователи»: users.last_login_at / last_login_ip
(миграция 0014 с заполнением из журнала), запись при успешном входе, UserOut, колонка в UI.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>