feat(deploy): Añade configuración Docker para despliegue de servicios
This commit is contained in:
		
							
								
								
									
										63
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| 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 | ||||
		Reference in New Issue
	
	Block a user