CRITICAL FIX: Frontend was serving raw CSS with uncompiled @tailwind directives, resulting in completely unstyled pages (plain text without any CSS). Root cause: - postcss.config.js and tailwind.config.js/ts were excluded in .dockerignore - This prevented PostCSS/Tailwind from compiling CSS during Docker builds - Local builds worked because config files were present Changes: 1. apps/frontend/.dockerignore: - Commented out postcss.config.js exclusion - Commented out tailwind.config.js/ts exclusions - Added explanatory comments about why these files are needed 2. apps/backend/Dockerfile: - Copy src/ directory to production stage for CSV upload paths - Create csv-storage/rates directory with proper permissions - Fix EACCES errors when uploading CSV files 3. apps/backend/src/application/controllers/admin/csv-rates.controller.ts: - Add getCsvUploadPath() helper function - Support both local dev and Docker environments - Use absolute paths instead of relative paths 4. docker-compose.dev.yml: - Change backend port mapping to 4001:4000 (avoid local dev conflicts) - Change frontend port mapping to 3001:3000 - Update CORS_ORIGIN and NEXT_PUBLIC_API_URL accordingly Impact: - ✅ Fixes completely broken frontend CSS in Docker/production - ✅ Applies to CI/CD builds (uses apps/frontend/.dockerignore) - ✅ Applies to Portainer deployments (pulls from CI/CD images) - ✅ Fixes CSV upload permission errors in backend - ✅ Enables local Docker testing on Mac ARM64 Testing: - Local Docker build now shows compiled Tailwind CSS (60KB+) - Frontend displays properly styled pages at http://localhost:3001 - Backend CSV uploads work without permission errors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||