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 |