- Document bootstrap admin login via KMTN_ADMIN_USERNAME/PASSWORD
env vars, including setup guide, curl examples, and config table
entries across docker-compose and bare-metal deployment sections
- Add KMTN_JWT_SECRET_KEY to all deployment config examples and
production checklist
- Fix docker-entrypoint.sh: remove unused API_UPSTREAM variable from
config.json envsubst (only API_PUBLIC_URL is needed)
- Fix app-config.service: default apiBaseUrl now reads from Angular
environment instead of empty string, and config.json path drops
leading ./ for cleaner resolution
The field name 'date' in EventUpdate shadowed the 'date' type from
datetime, causing Pydantic v2 to interpret Optional[date] as
Optional[None] — rejecting all non-null values with a 422 error.
Fix: rename import to 'date as _date' and use '_date' in all
annotations. Also improve error handling in admin forms to properly
display 422 validation error messages.
Co-Authored-By: Claude <noreply@anthropic.com>