| 
									
										
										
										
											2025-10-29 18:11:25 -03:00
										 |  |  | services:
 | 
					
						
							|  |  |  |   # Servicio del Backend
 | 
					
						
							|  |  |  |   backend:
 | 
					
						
							|  |  |  |     build:
 | 
					
						
							|  |  |  |       context: ./backend/src/Titulares.Api
 | 
					
						
							|  |  |  |       dockerfile: Dockerfile
 | 
					
						
							|  |  |  |     container_name: titulares-api
 | 
					
						
							|  |  |  |     # No exponemos puertos al exterior, el proxy se encarga de eso.
 | 
					
						
							|  |  |  |     environment:
 | 
					
						
							|  |  |  |       # Le decimos a ASP.NET Core que escuche en el puerto 8080 en todas las interfaces de red
 | 
					
						
							|  |  |  |       - ASPNETCORE_URLS=http://+:8080
 | 
					
						
							| 
									
										
										
										
											2025-10-30 12:46:18 -03:00
										 |  |  |     volumes:
 | 
					
						
							|  |  |  |       # Mapea la carpeta del host (que será gestionada por autofs) 
 | 
					
						
							|  |  |  |       # a una carpeta '/data' dentro de este contenedor.
 | 
					
						
							|  |  |  |       # La aplicación .NET ahora solo necesita escribir en '/data/titulares.csv'.
 | 
					
						
							| 
									
										
										
										
											2025-10-30 14:39:40 -03:00
										 |  |  |       - /mnt/titulares_csv_remoto/autofs:/data
 | 
					
						
							| 
									
										
										
										
											2025-10-29 18:11:25 -03:00
										 |  |  |     networks:
 | 
					
						
							|  |  |  |       - app-net
 | 
					
						
							|  |  |  |       - shared-net # Conectamos a la red externa para la DB
 | 
					
						
							|  |  |  |     restart: unless-stopped
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Servicio de Nginx (Proxy Inverso + Servidor Frontend)
 | 
					
						
							|  |  |  |   nginx-proxy:
 | 
					
						
							|  |  |  |     build:
 | 
					
						
							|  |  |  |       context: ./frontend # Construimos desde la carpeta del frontend...
 | 
					
						
							|  |  |  |       dockerfile: Dockerfile # ...usando su Dockerfile para generar los estáticos
 | 
					
						
							|  |  |  |     container_name: titulares-proxy
 | 
					
						
							|  |  |  |     # Montamos nuestra configuración personalizada de Nginx
 | 
					
						
							|  |  |  |     volumes:
 | 
					
						
							|  |  |  |       - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
 | 
					
						
							|  |  |  |     ports:
 | 
					
						
							|  |  |  |       # Mapeamos el puerto 8905 del host al puerto 80 del contenedor Nginx
 | 
					
						
							|  |  |  |       - "8905:80"
 | 
					
						
							|  |  |  |     networks:
 | 
					
						
							|  |  |  |       - app-net
 | 
					
						
							|  |  |  |     depends_on:
 | 
					
						
							|  |  |  |       - backend # Aseguramos que el backend se inicie antes que el proxy
 | 
					
						
							|  |  |  |     restart: unless-stopped
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | networks:
 | 
					
						
							|  |  |  |   # Red interna para la comunicación entre el proxy y el backend
 | 
					
						
							|  |  |  |   app-net:
 | 
					
						
							|  |  |  |     driver: bridge
 | 
					
						
							|  |  |  |   # Definimos la red compartida como externa, ya que fue creada por otro stack
 | 
					
						
							|  |  |  |   shared-net:
 | 
					
						
							|  |  |  |     external: true
 |