63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| services:
 | |
|   # Servicio del Backend API
 | |
|   mercados-api:
 | |
|     build:
 | |
|       context: ./MercadosModernos # Asumiendo que clonaste el repo en esta carpeta
 | |
|       dockerfile: src/Mercados.Api/Dockerfile
 | |
|     container_name: mercados-api
 | |
|     restart: always
 | |
|     env_file:
 | |
|       - ./.env # Lee las variables desde un archivo .env en la misma carpeta
 | |
|     networks:
 | |
|       - mercados-net
 | |
|       - shared-net # Se conecta a la red compartida para hablar con la DB
 | |
|     # NO se exponen puertos al host.
 | |
| 
 | |
|   # Servicio del Worker
 | |
|   mercados-worker:
 | |
|     build:
 | |
|       context: ./MercadosModernos
 | |
|       dockerfile: src/Mercados.Worker/Dockerfile
 | |
|     container_name: mercados-worker
 | |
|     restart: always
 | |
|     env_file:
 | |
|       - ./.env
 | |
|     networks:
 | |
|       - shared-net # Solo necesita acceso a la DB.
 | |
|     # NO se exponen puertos al host.
 | |
| 
 | |
|   # Servicio del Frontend (servido por Nginx)
 | |
|   mercados-frontend:
 | |
|     build:
 | |
|       context: ./MercadosModernos/frontend
 | |
|       dockerfile: Dockerfile
 | |
|     container_name: mercados-frontend
 | |
|     restart: always
 | |
|     networks:
 | |
|       - mercados-net
 | |
|     # NO se exponen puertos al host.
 | |
| 
 | |
|   # --- NUEVO SERVICIO: Proxy Inverso Local ---
 | |
|   proxy:
 | |
|     image: nginx:1.25-alpine
 | |
|     container_name: mercados-proxy
 | |
|     restart: always
 | |
|     volumes:
 | |
|       # Mapeamos nuestro archivo de configuración al contenedor de Nginx
 | |
|       - ./proxy-local/nginx.conf:/etc/nginx/conf.d/default.conf
 | |
|     ports:
 | |
|       # ESTE ES EL ÚNICO PUNTO DE ENTRADA DESDE EL EXTERIOR
 | |
|       # Expone el puerto 80 del contenedor al puerto 8500 del host Debian.
 | |
|       - "8500:80"
 | |
|     networks:
 | |
|       - mercados-net
 | |
|     depends_on:
 | |
|       - mercados-api
 | |
|       - mercados-frontend
 | |
| 
 | |
| networks:
 | |
|   mercados-net:
 | |
|     driver: bridge
 | |
| 
 | |
|   shared-net:
 | |
|     external: true |