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