Files
proxmox-ha-setup/vm2/docker-compose.yml
2025-11-01 18:11:47 +01:00

97 lines
2.3 KiB
YAML

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: