# docker-compose.yml
version: '3.8'

services:
  tf5-bot:
    # Costruisce l'immagine usando il Dockerfile nella cartella corrente
    build: .
    
    # Nome del container per una facile identificazione
    container_name: tf5-telegram-bot
    
    # Carica le variabili d'ambiente dal file .env
    env_file:
      - .env
      
    # Politica di riavvio:
    # 'unless-stopped' riavvia il container automaticamente all'avvio di Docker
    # (e in caso di crash), a meno che tu non lo abbia fermato manualmente.
    restart: unless-stopped
    
    # Modalità di rete "host":
    # Questo è FONDAMENTALE. Permette al container di accedere direttamente
    # alla rete del tuo computer. Senza questo, il bot non potrebbe
    # "vedere" e connettersi al mixer TF5 che si trova sulla tua rete locale.
    network_mode: "host"
    
    # Volumi:
    # Questo collega le cartelle del tuo computer (a sinistra dei due punti)
    # alle cartelle all'interno del container (a destra).
    # In questo modo, i profili, le conversazioni e la cache vengono salvati
    # sul tuo disco e non vengono persi se il container viene riavviato.
    volumes:
      - ./profiles:/app/profiles
      - ./conversations:/app/conversations
      - ./cache:/app/cache