Test Public Side
This commit is contained in:
@@ -1,46 +1,54 @@
|
||||
services:
|
||||
# Servicio del Backend API
|
||||
elecciones-api:
|
||||
build:
|
||||
context: ./Elecciones-Web
|
||||
dockerfile: src/Elecciones.Api/Dockerfile
|
||||
container_name: elecciones-api
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- ./.env # Lee las variables de entorno desde el archivo .env
|
||||
env_file: ./.env
|
||||
# .NET expone el puerto 8080 por defecto en contenedores
|
||||
expose:
|
||||
- "8080"
|
||||
networks:
|
||||
- elecciones-net
|
||||
- shared-net # Se conecta a la red compartida para hablar con la DB
|
||||
# No se exponen puertos directamente al host. El proxy se encarga.
|
||||
- shared-net
|
||||
|
||||
# Servicio del Worker para la ingesta de datos
|
||||
# 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
|
||||
env_file: ./.env
|
||||
networks:
|
||||
- shared-net # Solo necesita acceso a la DB y a la API electoral (internet).
|
||||
- shared-net
|
||||
volumes:
|
||||
# Mapea el directorio /app/logs de dentro del contenedor
|
||||
# a un directorio llamado 'logs-worker' en la raíz de tu proyecto en la máquina local.
|
||||
- ./logs-worker:/app/logs
|
||||
# No se exponen puertos.
|
||||
|
||||
# Servicio del Frontend (servido por Nginx)
|
||||
# Lo definimos ahora, aunque lo construiremos más adelante.
|
||||
# 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
|
||||
# No se exponen puertos.
|
||||
|
||||
# Proxy Inverso que expone los servicios al exterior
|
||||
proxy:
|
||||
@@ -48,21 +56,22 @@ services:
|
||||
container_name: elecciones-proxy
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
# Mapea nuestro archivo de configuración local al contenedor de Nginx
|
||||
# Mapea nuestro archivo de configuración de proxy local al contenedor
|
||||
- ./proxy/nginx.conf:/etc/nginx/conf.d/default.conf
|
||||
ports:
|
||||
# ÚNICO PUNTO DE ENTRADA: Expone el puerto 80 del contenedor al puerto 8600 del host.
|
||||
# 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
|
||||
|
||||
# La red 'shared-net' ya existe en Docker.
|
||||
shared-net:
|
||||
external: true
|
||||
Reference in New Issue
Block a user