41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
|  | 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
 | ||
|  |     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
 |