schon/scripts/Unix/install.sh
Egor fureunoir Gorbunov e7ba7dde0f Features: 1) Update reboot script to improve readability in service status messages; 2) Specify application name as "eVibes" in final confirmation message;
Fixes: 1) Standardize spacing in spinner commands for consistency; 2) Correct alignment of service lifecycle commands;

Extra: Adjust wording for better clarity and uniformity in reboot.sh script.
2025-06-16 14:09:37 +03:00

35 lines
1,017 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
if [[ ! -f .env ]]; then
echo "Warning: .env file not found. Exiting without running Docker steps."
exit 0
fi
cpuCount=$(nproc)
if (( cpuCount < 4 )); then
echo "Error: Insufficient CPU cores: $cpuCount detected. Minimum 4 required." >&2
exit 1
fi
mem_kb=$(awk '/MemTotal:/ {print $2}' /proc/meminfo)
totalMemGB=$(awk "BEGIN {printf \"%.2f\", $mem_kb/1024/1024}")
if (( mem_kb < 6*1024*1024 )); then
echo "Error: Insufficient RAM: ${totalMemGB} GB detected. Minimum 6 GB required." >&2
exit 1
fi
avail_kb=$(df --output=avail . | tail -n1)
freeGB=$(awk "BEGIN {printf \"%.2f\", $avail_kb/1024/1024}")
if (( avail_kb < 20*1024*1024 )); then
echo "Error: Insufficient free disk space: ${freeGB} GB available. Minimum 20 GB required." >&2
exit 1
fi
echo "System requirements met: CPU cores=${cpuCount}, RAM=${totalMemGB}GB, FreeDisk=${freeGB}GB"
echo "Pulling related images..."
docker compose pull
echo "Building the project's images..."
docker compose build