services: redis: image: redis:7-alpine container_name: redis-slave restart: unless-stopped command: redis-server --replicaof 192.168.1.201 6379 --requirepass ${REDIS_PASSWORD:-Ase@2025} volumes: - redis_data:/data networks: - app-network labels: logging: "promtail" orchestrator-4-load: build: . container_name: orchestrator-4-load restart: unless-stopped command: ["python", "-m", "src.load_orchestrator"] environment: DB_HOST: ${VIP:-192.168.1.210} REDIS_HOST: ${VIP:-192.168.1.210} ORCHESTRATOR_ID: 4 volumes: - app-logs:/app/logs networks: - app-network labels: logging: "promtail" orchestrator-5-elab: build: . container_name: orchestrator-5-elab restart: unless-stopped command: ["python", "-m", "src.elab_orchestrator"] environment: DB_HOST: ${VIP:-192.168.1.210} REDIS_HOST: ${VIP:-192.168.1.210} ORCHESTRATOR_ID: 5 volumes: - app-logs:/app/logs networks: - app-network labels: logging: "promtail" orchestrator-6-send: build: . container_name: orchestrator-6-send restart: unless-stopped command: ["python", "-m", "src.send_orchestrator"] environment: DB_HOST: ${VIP:-192.168.1.210} REDIS_HOST: ${VIP:-192.168.1.210} ORCHESTRATOR_ID: 6 volumes: - app-logs:/app/logs networks: - app-network labels: logging: "promtail" ftp-server-2: build: . container_name: ftp-server-2 restart: unless-stopped command: ["python", "-m", "src.ftp_csv_receiver"] environment: DB_HOST: ${VIP:-192.168.1.210} REDIS_HOST: ${VIP:-192.168.1.210} FTP_INSTANCE_ID: 2 volumes: - app-logs:/app/logs networks: - app-network expose: - "21" labels: logging: "promtail" haproxy: image: haproxy:2.8-alpine container_name: haproxy-backup restart: unless-stopped volumes: - ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro networks: - app-network ports: - "21:21" - "30000-30009:30000-30009" - "8404:8404" keepalived: image: osixia/keepalived:2.0.20 container_name: keepalived restart: unless-stopped cap_add: - NET_ADMIN network_mode: host environment: KEEPALIVED_PRIORITY: 50 KEEPALIVED_VIRTUAL_IPS: "${VIP:-192.168.1.210}" promtail: image: grafana/promtail:2.9.3 container_name: promtail restart: unless-stopped volumes: - ./promtail-config.yml:/etc/promtail/config.yml:ro - /var/run/docker.sock:/var/run/docker.sock:ro networks: - app-network networks: app-network: volumes: redis_data: app-logs: