- Replace postgres:15-alpine with pgvector/pgvector:pg15 (built-in vector extension)
- Remove init-db.sh (pgvector image includes extension, SQL init script instead)
- Add multi-stage Dockerfile for backend (development/runtime targets)
- Add development stage to frontend Dockerfile
- Update .env.example with correct passwords and Docker-internal URLs
- Add POSTGRES_PASSWORD/REDIS_PASSWORD to .env for Docker Compose
- Use named volume for frontend node_modules
- Add backend healthcheck to docker-compose.yml
- Redis: add password authentication (requirepass), update healthcheck
- PostgreSQL: replace hardcoded password with env variable
- Docker Compose: remove obsolete version field, use env vars for credentials
- Add .env.production.example template with strong password placeholders
- Update all .env files with new credentials and ports
- analytics.py: 4 DateTime columns now timezone-aware (99 total, 0 remaining)
- Migration script updated with publish_records, content_metrics, optimization_insights
- Docker Compose: db port 5433, redis port 6380 (avoid conflicts with fischerx)
- .env files: DATABASE_URL and REDIS_URL updated to new ports
- alembic.ini: updated to localhost:5433