version: '3.8' services: tcp-proxy: build: . container_name: industrial-nat-proxy restart: always # ⚠️ Reiniciar automáticamente # Mapear puertos del host al contenedor ports: - "8080:8080" # Puerto de gestión (API REST) # Los puertos NAT se crean dinámicamente # Montar volúmenes para persistencia y configuración volumes: - ./config:/app/config:rw # Configuración - ./certs:/app/certs:ro # Certificados SSH (solo lectura) - ./logs:/app/logs:rw # Logs - ./scripts:/app/scripts:rw # Scripts personalizados # Variables de entorno environment: - PYTHONUNBUFFERED=1 - CONFIG_FILE=/app/config/nat_config.yaml - TZ=America/Argentina/Buenos_Aires # Ajustar tu zona horaria # Configuración de red networks: - proxy-network # Configuración de recursos deploy: resources: limits: memory: 1G cpus: '1.0' reservations: memory: 512M cpus: '0.5' # Configuración de salud healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/status"] interval: 30s timeout: 10s retries: 3 start_period: 60s # Reiniciar en caso de fallo deploy: restart_policy: condition: any delay: 10s max_attempts: 5 window: 120s networks: proxy-network: driver: bridge