- New `/profile` page lets users set first/last name and upload a
profile photo (resized to 256x256 JPEG server-side via sharp, stored
as a data URL in Postgres since the container FS is ephemeral)
- Sidebar user block now shows the profile photo (or initial-letter
fallback) and display name, and links to `/profile`
- Migration adds `firstName`, `lastName`, `avatar` columns to User and
backfills them from the legacy `name` field; seed updated to match
- Bump Next.js server-action body limit to 11 MB so avatar uploads up
to the 10 MB cap aren't silently rejected with a 413
- Expose Postgres port on the host in docker-compose for local tooling
Allow users to customize the host-side port mapping while keeping the
container's internal port fixed at 3000. The default remains 3000 when
APP_PORT is unset.
- Add APP_PORT to .env.example with documentation
- Update docker-compose.yml to use ${APP_PORT:-3000}:3000
- Update README with new env var and usage notes