79 lines
1.6 KiB
YAML
79 lines
1.6 KiB
YAML
# Docker Compose para Cisco MAC Monitor
|
|
# ====================================
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
cisco-mac-monitor:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: cisco-mac-monitor:latest
|
|
container_name: cisco-mac-monitor
|
|
|
|
# Reiniciar automáticamente
|
|
restart: unless-stopped
|
|
|
|
# Variables de entorno
|
|
environment:
|
|
- CONFIG_FILE=/config/config.yaml
|
|
- LOG_LEVEL=INFO
|
|
- MONITORING_INTERVAL=5
|
|
- TZ=Europe/Madrid
|
|
|
|
# Volúmenes para persistencia
|
|
volumes:
|
|
# Configuración (REQUERIDO)
|
|
- ./config:/config:ro
|
|
|
|
# Logs (opcional)
|
|
- ./logs:/logs
|
|
|
|
# Datos de salida (opcional)
|
|
- ./data:/data
|
|
|
|
# Zona horaria del host
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
# Red del host para acceso a dispositivos locales
|
|
network_mode: host
|
|
|
|
# Límites de recursos
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 256M
|
|
reservations:
|
|
cpus: '0.1'
|
|
memory: 64M
|
|
|
|
# Healthcheck
|
|
healthcheck:
|
|
test: ["CMD", "python3", "/app/cisco_mac_monitor.py", "--config", "/config/config.yaml", "--single-run"]
|
|
interval: 5m
|
|
timeout: 30s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
# Logging del contenedor
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
# Redes (opcional si no usas host)
|
|
networks:
|
|
cisco-network:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16
|
|
|
|
# Volúmenes con nombre (alternativo)
|
|
volumes:
|
|
cisco-logs:
|
|
driver: local
|
|
cisco-data:
|
|
driver: local |