577b052c05
User Profile (US-004): - Add authenticated profile endpoints (GET/PUT /users/me) - Add avatar upload with file validation (PNG/JPEG, max 2MB) - Create frontend profile page with edit form and avatar upload - Update app shell to link to profile page OAuth/Traefik Integration: - Externalize all Authentik URLs to environment variables - Add domain configuration (API_DOMAIN, WEB_DOMAIN, AUTHENTIK_DOMAIN) - Create docker-compose.traefik.yml for reverse proxy deployment - Update OAuth redirect/callback URLs to use configured domains - Add VITE_APP_URL for frontend public URL configuration Quality gates: pytest (50 passed), ruff, mypy, npm test (12 passed), typecheck, lint, build
25 lines
947 B
Markdown
25 lines
947 B
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: Docker Compose Setup
|
|
|
|
The system SHALL provide Docker Compose configurations for both development and traefik deployment.
|
|
|
|
#### Scenario: Development compose file
|
|
- GIVEN the development environment
|
|
- THEN `docker-compose.yml` SHALL define all platform services for local development
|
|
|
|
#### Scenario: Traefik compose file
|
|
- GIVEN the production deployment
|
|
- THEN `docker-compose.traefik.yml` SHALL define all platform services behind Traefik
|
|
- AND no ports SHALL be exposed directly (all traffic through Traefik)
|
|
|
|
### Requirement: Environment Configuration
|
|
|
|
The system SHALL document all required environment variables for both development and traefik deployment modes.
|
|
|
|
#### Scenario: Environment setup
|
|
- GIVEN a new developer or operator
|
|
- WHEN they set up the project
|
|
- THEN `.env.example` SHALL document all variables for both modes
|
|
- AND variables SHALL include domain configuration for traefik mode
|