Files
TitularesApp/docker-compose.yml

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