Files
Elecciones-2025/docker-compose.yml

77 lines
1.9 KiB
YAML

services:
elecciones-api:
build:
context: ./Elecciones-Web
dockerfile: src/Elecciones.Api/Dockerfile
container_name: elecciones-api
restart: unless-stopped
env_file: ./.env
# .NET expone el puerto 8080 por defecto en contenedores
expose:
- "8080"
networks:
- elecciones-net
- shared-net
# Servicio del Worker (sin cambios)
elecciones-worker:
build:
context: ./Elecciones-Web
dockerfile: src/Elecciones.Worker/Dockerfile
container_name: elecciones-worker
restart: unless-stopped
env_file: ./.env
networks:
- shared-net
volumes:
- ./logs-worker:/app/logs
# Servicio del Frontend Público (sin cambios)
elecciones-frontend:
build:
context: ./Elecciones-Web/frontend
dockerfile: Dockerfile
container_name: elecciones-frontend
restart: unless-stopped
expose:
- "80"
networks:
- elecciones-net
# --- Frontend Admin ---
elecciones-frontend-admin:
build:
context: ./Elecciones-Web/frontend-admin
dockerfile: Dockerfile
container_name: elecciones-frontend-admin
restart: unless-stopped
expose:
- "80"
networks:
- elecciones-net
# Proxy Inverso que expone los servicios al exterior
proxy:
image: nginx:1.25-alpine
container_name: elecciones-proxy
restart: unless-stopped
volumes:
# Mapea nuestro archivo de configuración de proxy local al contenedor
- ./proxy/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
# Puerto para el sitio público/widgets
- "8600:80"
# --- NUEVO PUERTO: Puerto para el panel de administración ---
- "8700:81"
networks:
- elecciones-net
depends_on:
- elecciones-api
- elecciones-frontend
- elecciones-frontend-admin
networks:
elecciones-net:
driver: bridge
shared-net:
external: true