version: '3.8'

services:
  # Interfaz de Usuario: Recibe documentos y muestra resultados del n8n
  interfaz_usuario:
    build: ./interfaz_python
    container_name: conciliacion_ui
    ports:
      - "8501:8501"
    volumes:
      - ./interfaz_python:/app
      - ./documentos_fuente:/app/datos
    depends_on:
      - n8n
    # environment:
    #   - DB_HOST=base_datos # Habilitar para persistencia de metadata futura

  # Motor de Automatizacion: Procesa los archivos binarios y aplica la logica
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n_server
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
    volumes:
      - ./flujos_n8n:/home/node/.n8n

  # --- OPCION PARA PERSISTENCIA DE METADATA (FUTURO) ---
  # base_datos:
  #   image: postgres:15
  #   container_name: conciliacion_db
  #   environment:
  #     POSTGRES_DB: conciliacion_metadata
  #     POSTGRES_USER: admin_usuario
  #     POSTGRES_PASSWORD: password_seguro
  #   volumes:
  #     - ./datos_sql:/var/lib/postgresql/data