Files
amigos-app/README.md
josedario87 7a5bd7f78e
All checks were successful
build-and-deploy / build (push) Successful in 8s
build-and-deploy / deploy (push) Successful in 15s
fix
2025-09-06 17:49:57 -06:00

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).