xpeditis2.0/apps/frontend/.dockerignore
David 88f0cc99bb fix: enable Tailwind CSS compilation in Docker builds
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>
2025-11-19 13:39:05 +01:00

101 lines
1.1 KiB
Plaintext

# Dependencies
node_modules
npm-debug.log
yarn-error.log
# package-lock.json is needed for npm ci in Docker builds
yarn.lock
pnpm-lock.yaml
# Next.js build output
.next
out
dist
build
# Tests
coverage
.nyc_output
**/__tests__
**/__mocks__
*.spec.ts
*.test.ts
*.spec.tsx
*.test.tsx
e2e
playwright-report
test-results
# Environment files
.env
.env.local
.env.development
.env.test
.env.production
.env.*.local
# IDE
.vscode
.idea
*.swp
*.swo
*.swn
.DS_Store
# Git
.git
.gitignore
.gitattributes
.github
# Documentation
*.md
README.md
docs
documentation
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Temporary files
tmp
temp
*.tmp
*.bak
*.cache
.turbo
# Docker
Dockerfile
.dockerignore
docker-compose*.yml
# CI/CD
.gitlab-ci.yml
.travis.yml
Jenkinsfile
azure-pipelines.yml
# Vercel
.vercel
# Other
.prettierrc
.prettierignore
.eslintrc.json
.eslintignore
# postcss.config.js # NEEDED for Tailwind CSS compilation
# tailwind.config.js # NEEDED for Tailwind CSS compilation
# tailwind.config.ts # NEEDED for Tailwind CSS compilation
next-env.d.ts
tsconfig.tsbuildinfo
# Storybook
storybook-static
.storybook