initial working
This commit is contained in:
136
vm1/docker-compose.yml
Normal file
136
vm1/docker-compose.yml
Normal file
@@ -0,0 +1,136 @@
|
||||
services:
|
||||
mysql:
|
||||
image: mariadb:10.11
|
||||
container_name: mysql
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-Ase@2025}
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE:-ase_lar}
|
||||
MYSQL_USER: ${MYSQL_USER:-ase_lar}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-ase_lar}
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
networks:
|
||||
- app-network
|
||||
ports:
|
||||
- "3306:3306"
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
labels:
|
||||
logging: "promtail"
|
||||
logging_jobname: "mysql"
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: redis-master
|
||||
restart: unless-stopped
|
||||
command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD:-Ase@2025}
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
networks:
|
||||
- app-network
|
||||
ports:
|
||||
- "6379:6379"
|
||||
labels:
|
||||
logging: "promtail"
|
||||
orchestrator-1-load:
|
||||
build: .
|
||||
container_name: orchestrator-1-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: 1
|
||||
volumes:
|
||||
- app-logs:/app/logs
|
||||
networks:
|
||||
- app-network
|
||||
labels:
|
||||
logging: "promtail"
|
||||
orchestrator-2-elab:
|
||||
build: .
|
||||
container_name: orchestrator-2-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: 2
|
||||
volumes:
|
||||
- app-logs:/app/logs
|
||||
networks:
|
||||
- app-network
|
||||
labels:
|
||||
logging: "promtail"
|
||||
orchestrator-3-send:
|
||||
build: .
|
||||
container_name: orchestrator-3-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: 3
|
||||
volumes:
|
||||
- app-logs:/app/logs
|
||||
networks:
|
||||
- app-network
|
||||
labels:
|
||||
logging: "promtail"
|
||||
ftp-server-1:
|
||||
build: .
|
||||
container_name: ftp-server-1
|
||||
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: 1
|
||||
volumes:
|
||||
- app-logs:/app/logs
|
||||
networks:
|
||||
- app-network
|
||||
expose:
|
||||
- "21"
|
||||
labels:
|
||||
logging: "promtail"
|
||||
haproxy:
|
||||
image: haproxy:2.8-alpine
|
||||
container_name: haproxy
|
||||
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: 100
|
||||
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:
|
||||
mysql_data:
|
||||
redis_data:
|
||||
app-logs:
|
||||
Reference in New Issue
Block a user