46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
services:
|
|
# Servicio del Backend
|
|
backend:
|
|
build:
|
|
context: ./backend/src/Titulares.Api
|
|
dockerfile: Dockerfile
|
|
container_name: titulares-api
|
|
# No exponemos puertos al exterior, el proxy se encarga de eso.
|
|
environment:
|
|
# Le decimos a ASP.NET Core que escuche en el puerto 8080 en todas las interfaces de red
|
|
- ASPNETCORE_URLS=http://+:8080
|
|
volumes:
|
|
# Mapea la carpeta del host (que será gestionada por autofs)
|
|
# a una carpeta '/data' dentro de este contenedor.
|
|
# La aplicación .NET ahora solo necesita escribir en '/data/titulares.csv'.
|
|
- /mnt/titulares_csv_remoto:/data
|
|
networks:
|
|
- app-net
|
|
- shared-net # Conectamos a la red externa para la DB
|
|
restart: unless-stopped
|
|
|
|
# Servicio de Nginx (Proxy Inverso + Servidor Frontend)
|
|
nginx-proxy:
|
|
build:
|
|
context: ./frontend # Construimos desde la carpeta del frontend...
|
|
dockerfile: Dockerfile # ...usando su Dockerfile para generar los estáticos
|
|
container_name: titulares-proxy
|
|
# Montamos nuestra configuración personalizada de Nginx
|
|
volumes:
|
|
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
ports:
|
|
# Mapeamos el puerto 8905 del host al puerto 80 del contenedor Nginx
|
|
- "8905:80"
|
|
networks:
|
|
- app-net
|
|
depends_on:
|
|
- backend # Aseguramos que el backend se inicie antes que el proxy
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
# Red interna para la comunicación entre el proxy y el backend
|
|
app-net:
|
|
driver: bridge
|
|
# Definimos la red compartida como externa, ya que fue creada por otro stack
|
|
shared-net:
|
|
external: true |