Files
yankee-downloader-desktop/composeScaling.bash
2025-02-11 12:20:49 -05:00

110 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
##
set -e
set -x
##
reset
clear
##
##
processorCount=`grep -c '^processor' /proc/cpuinfo`
#processorCount=2
echo "num cpus / "$processorCount
for i in $(seq 2 "$processorCount"); do
echo "Processing unit: $i"
##
rm -f compose.yaml
echo "services:" >> compose.yaml
##
for x in $(seq 1 "$processorCount"); do
i=$(printf "%03d" "$x")
# Create the service definition
service_def=$(cat <<EOF
##########################################
##
## orchestration / yankee-desktop-remix
##
##########################################$i
yankee-desktop-remix-$i:
container_name: yankee-desktop-remix-$i
image: softwareshinobi/yankee-desktop-remix
restart: unless-stopped
build:
context: .
dockerfile: Dockerfile
volumes:
- yankee-nfs-downloads:/root/Downloads
hostname: yankee-desktop-$i
ports:
- "2${i}2:22"
- "2${i}8:80"
- "2${i}9:5900"
environment:
TZ: America/Bogota
USER_UID: 1000
USER_GID: 1000
USER: root
PASSWORD: yankee
HTTP_PASSWORD: yankee
EOF
)
# Append the service definition to compose.yaml
echo "$service_def" >> compose.yaml
done
# Add the volumes section ONCE after the loop (outside)
cat <<EOF >> compose.yaml
##########################################
##
## volumes / yankee-desktop-remix
##
##########################################
volumes:
yankee-nfs-downloads:
driver_opts:
type: "nfs"
o: nfsvers=4,addr=osiris.yankee.embanet.online,nolock,hard,rw
device: ":/"
EOF
#... your commands to process each unit...
done
##
docker compose down --remove-orphans
docker compose up -d
docker stats