- Fix Authentik button type casting issue in login page
* Use exported signIn instead of authClient type assertion
* Add proper error handling for OAuth calls
- Fix image MIME type handling in import-photo.ts
* Convert base64 to data URL format for AI SDK compatibility
- Fix type annotations in auth/server.ts changeEmail handler
* Add explicit type annotation for destructured parameters
These TypeScript errors were preventing 'pnpm build' from completing
during Docker image build process.
- Add git to build dependencies (required by some npm packages)
- Add build-time environment variables (NEXT_PUBLIC_VAPID_PUBLIC_KEY, BETTER_AUTH_SECRET, BETTER_AUTH_URL)
- Add error output capture (2>&1) to expose build errors
- Ensure all dependencies are available during build phase
Change build context from '.' to '..' to correctly reference Dockerfile at repo root when compose file is in docker/ directory. This fixes Portainer deployment errors.
- Add multi-stage Dockerfile for Next.js standalone build
- Add docker-compose.deploy.yml for production deployment
- Add entrypoint.sh for database migration and startup
- Add .dockerignore for efficient Docker builds
- Add docker/.env.production with all required env vars
- Add Caddyfile.prod with security headers and optimizations
- Update next.config.ts with output: standalone for Docker
- Add DOCKER_DEPLOYMENT.md with comprehensive deployment guide
Sticky sidebar with back-to-app link. Overview: user counts, recipe photos, AI calls/month.
User management with role/tier editing. Audit log (all admin actions).
Storage page with photo breakdown by tier. AI config showing DB vs .env key source.
Site settings page to override .env values at runtime (encrypted in DB).
Follow/unfollow users. Recipe favorites. Threaded comments with emoji reactions.
Collections (public/private) with shared member invite. Activity feed.
Public profile pages at /u/[username].