# Convention de nommage : user-project-branch (ex: ajr-techradardev-main)
# Permet plusieurs instances en parallele (prod/test) sans collision
name: ${COMPOSE_PROJECT_NAME:-ajr-techradardev-main}

services:
  radar-business:
    container_name: ${COMPOSE_PROJECT_NAME:-ajr-techradardev-main}-app
    build:
      context: .
      dockerfile: Dockerfile.business
      pull: true
      args:
        BUILD_DATE: "${BUILD_DATE:-$(date +%s)}"
        BUILD_VERSION: "${BUILD_VERSION:-dev}"
        CACHE_BUST: "${CACHE_BUST:-$(date +%s%N)}"
    restart: unless-stopped
    environment:
      - NODE_ENV=production
    labels:
      # Registrator lit l'IP du conteneur depuis le reseau "sonic" (-useIpFromNetwork sonic)
      # et enregistre le service dans Consul avec le tag urlprefix- -> Fabio route vers ce service
      - SERVICE_3000_NAME=${COMPOSE_PROJECT_NAME:-ajr-techradardev-main}-app-3000
      - SERVICE_3000_TAGS=urlprefix-${RADAR_DOMAIN}/*
      - SERVICE_3000_CHECK_TCP=true
      # sonic-acme-1 (acme-companion) emet le cert TLS et le copie dans /host/certs/
      # Fabio le detecte automatiquement par SNI pour HTTPS
      - LETSENCRYPT_HOST=${RADAR_DOMAIN}
    networks:
      - sonic

networks:
  sonic:
    # Reseau externe existant sur le serveur (partage avec Registrator/Consul/Fabio)
    external: true
