# Override para CI/Jenkins (E2E + pipeline).
#
# Problema que resuelve: en Jenkins los bind mounts `./backend:/app` y
# `./frontend:/app` del compose base NO funcionan cuando el agente corre en un
# contenedor y el docker daemon del host no ve `$WORKSPACE`. El daemon monta
# un directorio vacío sobre `/app` y la app arranca sin código.
#
# Estrategia: con `!override` se reemplaza por completo la lista de volumes de
# cada servicio, dejando solo los volúmenes nombrados (cache, uploads,
# node_modules). El código se usa desde la imagen construida por
# `docker compose build`, que sí se transfiere por el daemon API.
#
# Requiere Docker Compose v2.24+ (tag `!override`).
services:
  backend:
    volumes: !override
      - backend_cache:/app/__pycache__
      - backend_uploads:/app/uploads

  frontend:
    volumes: !override
      - frontend_node_modules:/app/node_modules

  celery_worker:
    volumes: !override
      - backend_cache:/app/__pycache__
      - backend_uploads:/app/uploads

  celery_beat:
    volumes: !override
      - backend_cache:/app/__pycache__
      - backend_uploads:/app/uploads

# En Jenkins/agents no existe la red externa de aduanasoft-hub (desarrollo local).
# Sin esto, `docker compose up` falla: "aduanasoft-hub_default ... could not be found".
# Red bridge propia por proyecto (COMPOSE_PROJECT_NAME) para E2E/CI en paralelo.
networks:
  hub-net:
    driver: bridge
    external: false
    name: ${COMPOSE_PROJECT_NAME:-anexo76-ci}_hub_net
