35 lines
751 B
Bash
35 lines
751 B
Bash
|
|
#!/bin/bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SUDO_PASS="${1:-}"
|
||
|
|
|
||
|
|
if [ -z "$SUDO_PASS" ]; then
|
||
|
|
echo "Usage: $0 <sudo_password>"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
run_sudo() {
|
||
|
|
echo "$SUDO_PASS" | sudo -S "$@"
|
||
|
|
}
|
||
|
|
|
||
|
|
export DEBIAN_FRONTEND=noninteractive
|
||
|
|
|
||
|
|
run_sudo apt-get update -y
|
||
|
|
run_sudo apt-get install -y ca-certificates curl gnupg lsb-release git
|
||
|
|
|
||
|
|
if ! command -v docker >/dev/null 2>&1; then
|
||
|
|
curl -fsSL https://get.docker.com -o /tmp/get-docker.sh
|
||
|
|
run_sudo sh /tmp/get-docker.sh
|
||
|
|
rm -f /tmp/get-docker.sh
|
||
|
|
fi
|
||
|
|
|
||
|
|
run_sudo usermod -aG docker art || true
|
||
|
|
|
||
|
|
if ! docker compose version >/dev/null 2>&1; then
|
||
|
|
run_sudo apt-get install -y docker-compose-plugin || true
|
||
|
|
fi
|
||
|
|
|
||
|
|
docker --version
|
||
|
|
docker compose version || docker-compose --version || true
|
||
|
|
echo "Docker installation complete"
|