FROM node:20-alpine WORKDIR /app # Copy package files COPY package.json package-lock.json ./ # Install all dependencies RUN npm ci --legacy-peer-deps # Copy source code COPY . . # Create vite.config.js with correct proxy settings RUN cat > vite.config.js << 'VITECONFIG' import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import path from 'path'; export default defineConfig({ plugins: [react()], resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, server: { host: '0.0.0.0', port: 90, strictPort: true, allowedHosts: ['mygta-dev.ensup-adm.net', 'localhost'], proxy: { '/api': { target: 'http://backend:3004', changeOrigin: true, secure: false, configure: (proxy, options) => { proxy.on('error', (err, req, res) => { console.log('Proxy error:', err); }); proxy.on('proxyReq', (proxyReq, req, res) => { console.log('Proxying:', req.method, req.url, '-> http://backend:3004'); }); } } } } }); VITECONFIG EXPOSE 90 CMD ["npx", "vite", "--host", "0.0.0.0", "--port", "90"]