Files
dockeraise/dockeraise.sh
T

66 lines
2.3 KiB
Bash
Raw Normal View History

2022-05-20 18:31:46 +00:00
#!/bin/bash
# Make sure the script is run as root
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# Install dependencies
2022-05-21 11:43:46 +00:00
echo "[:] Updating repositories..."
2022-05-20 18:31:46 +00:00
sudo apt-get update > /dev/null
2022-05-21 11:43:46 +00:00
echo "[:] Installing dependencies..."
2022-05-20 18:31:46 +00:00
sudo apt-get install \
ca-certificates \
curl \
gnupg \
2022-05-21 10:30:21 +00:00
lsb-release > /dev/null
2022-05-20 18:31:46 +00:00
# Add GPG key
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2022-05-21 10:30:21 +00:00
echo "[+] Added Docker's GPG key"
2022-05-20 18:31:46 +00:00
# Add repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
2022-05-21 11:43:46 +00:00
echo "[+] Added Docker's stable repository"
2022-05-20 18:31:46 +00:00
# Install Docker
2022-05-21 11:43:46 +00:00
echo "[:] Updating repositories..."
2022-05-20 18:31:46 +00:00
apt-get update > /dev/null
2022-05-21 11:43:46 +00:00
echo "[:] Installing Docker. Please wait, this might take a while..."
2022-05-21 11:22:34 +00:00
apt-get install -y docker-ce docker-ce-cli containerd.io > /dev/null
2022-05-20 18:31:46 +00:00
echo "[+] Docker successfully installed:"
docker --version
# Install Docker Compose
while true; do
2022-05-21 10:30:21 +00:00
read -p "[?] Do you want to install Docker Compose? [y/n] " yn
2022-05-20 18:31:46 +00:00
case $yn in
2022-05-21 11:43:46 +00:00
[Yy]* ) echo "[:] Installing Docker Compose. Please wait, this might take a while...";
2022-05-21 11:25:57 +00:00
apt-get install -y docker-compose > /dev/null;
2022-05-21 11:43:46 +00:00
echo "[+] Docker Compose successfully installed:";
docker-compose --version;
2022-05-21 11:25:57 +00:00
break;;
2022-05-21 10:50:16 +00:00
[Nn]* ) break;;
2022-05-20 18:31:46 +00:00
* ) echo "Invalid input.";;
esac
done
# Create Docker user
while true; do
2022-05-21 10:36:59 +00:00
read -p "[?] Do you want to create a Docker user with uid=1000 and gid=1000? [y/n] " yn
2022-05-20 18:31:46 +00:00
case $yn in
2022-05-21 11:25:57 +00:00
[Yy]* ) read -p "Please choose a user/group id: " id;
2022-05-21 10:50:16 +00:00
/usr/sbin/groupadd -g $id dockeruser && /usr/sbin/useradd dockeruser -u $id -g $id -m -s /bin/bash && echo "[+] Docker user created:" && id dockeruser;
break;;
[Nn]* ) break;;
2022-05-20 18:31:46 +00:00
* ) echo "Invalid input.";;
esac
done
2022-05-21 11:43:46 +00:00
# Enable Docker service at startup
systemctl start docker.service docker.socket containerd && systemctl enable docker.service docker.socket containerd > /dev/null
2022-05-21 11:46:58 +00:00
echo "Process completed. Run 'systemctl status docker' to check Docker's status."