services: 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} 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} 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} 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} 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" - "40000-40499:40000-40499" - "8404:8404" keepalived: image: alpine:latest container_name: keepalived restart: unless-stopped cap_add: - NET_ADMIN - NET_BROADCAST - NET_RAW network_mode: host volumes: - ./keepalived-backup.conf:/etc/keepalived/keepalived.conf:ro command: sh -c "apk add --no-cache keepalived && keepalived -n -l -f /etc/keepalived/keepalived.conf" 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: app-logs: