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