44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
## Amigos App (React + Vite + Express)
|
|
|
|
Frontend (React/Vite) and backend (Express) are bundled into a single container for production. The backend serves the built frontend and exposes the API under `/api`.
|
|
|
|
### Configuración del API en el frontend
|
|
|
|
- Variable: `VITE_API_BASE`
|
|
- Descripción: URL base del API para `fetch`. Si no se define, el frontend usa el mismo origen (recomendado detrás de Nginx).
|
|
- Ejemplos:
|
|
- Mismo origen (proxy Nginx al contenedor): no definir `VITE_API_BASE`.
|
|
- API en dominio diferente: `VITE_API_BASE=https://api.ejemplo.com` (requiere CORS).
|
|
|
|
### Despliegue con Nginx (recomendado: mismo origen)
|
|
|
|
Proxy del dominio al contenedor (sirve estáticos y `/api`):
|
|
|
|
```
|
|
server {
|
|
server_name amigos.nucleoriofrio.com;
|
|
|
|
# Opcional: gzip, TLS, etc.
|
|
|
|
location / {
|
|
proxy_pass http://amigos-app:3001; # nombre del servicio Docker
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
}
|
|
}
|
|
```
|
|
|
|
Con esta configuración, no definas `VITE_API_BASE` para que el frontend use rutas relativas (`/api/...`).
|
|
|
|
### Docker Compose
|
|
|
|
El servicio expone el puerto 3001 dentro de la red de Docker. Asegúrate de que Nginx esté en la misma red (por ejemplo, `principal`) para alcanzar `amigos-app:3001`.
|
|
|
|
### Diagnóstico rápido
|
|
|
|
- 200 en `https://amigos.nucleoriofrio.com/health` indica que el backend está arriba.
|
|
- Si el navegador muestra `ERR_CONNECTION_REFUSED`, revisa que el frontend no apunte a `http://localhost:3001` (usa `VITE_API_BASE` o mismo origen).
|