mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-24 14:51:03 +01:00
parent
ef70b621b8
commit
7d8b75d4d6
1 changed files with 71 additions and 17 deletions
|
@ -6,9 +6,9 @@
|
|||
|
||||
# command info
|
||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
||||
echo "config script to install Docker"
|
||||
echo "blitz.docker.sh [on|off]"
|
||||
exit 1
|
||||
echo "config script to install Docker"
|
||||
echo "blitz.docker.sh [on|off]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source /mnt/hdd/raspiblitz.conf
|
||||
|
@ -16,12 +16,14 @@ source /mnt/hdd/raspiblitz.conf
|
|||
# switch on
|
||||
if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
||||
|
||||
echo
|
||||
echo "### 1) INSTALL Docker ###"
|
||||
|
||||
# check if Docker is installed
|
||||
isInstalled=$(docker -v 2>/dev/null | grep -c "docker version")
|
||||
if [ ${isInstalled} -eq 1 ]; then
|
||||
echo "# Docker already installed"
|
||||
if docker -v 2>/dev/null ; then
|
||||
echo "# Docker is already installed"
|
||||
docker -v
|
||||
docker compose version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -45,7 +47,7 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||||
fi
|
||||
echo \
|
||||
"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
|
||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
|
||||
sudo apt-get update
|
||||
|
@ -54,28 +56,77 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||
|
||||
# add the default user to the docker group
|
||||
# https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user
|
||||
sudo usermod -aG docker admin
|
||||
|
||||
echo "### 2) INSTALL docker-compose ###"
|
||||
echo
|
||||
echo "### 2) INSTALL docker compose ###"
|
||||
|
||||
# add docker compose
|
||||
sudo pip3 install docker-compose
|
||||
# add bash completion https://docs.docker.com/compose/completion/
|
||||
sudo curl \
|
||||
-L https://raw.githubusercontent.com/docker/compose/1.29.0/contrib/completion/bash/docker-compose \
|
||||
-o /etc/bash_completion.d/docker-compose
|
||||
# # add docker compose
|
||||
# sudo pip3 install docker-compose
|
||||
# # add bash completion https://docs.docker.com/compose/completion/
|
||||
# sudo curl \
|
||||
# -L https://raw.githubusercontent.com/docker/compose/1.29.0/contrib/completion/bash/docker-compose \
|
||||
# -o /etc/bash_completion.d/docker-compose
|
||||
|
||||
# https://docs.docker.com/compose/cli-command/#install-on-linux
|
||||
DockerComposeVersion=2.0.0
|
||||
# DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
|
||||
# mkdir -p $DOCKER_CONFIG/cli-plugins
|
||||
sudo mkdir -p /usr/local/lib/docker/cli-plugins
|
||||
sudo curl -SL "https://github.com/docker/compose/releases/download/v${DockerComposeVersion}/docker-compose-linux-$(dpkg --print-architecture)" \
|
||||
-o /usr/local/lib/docker/cli-plugins/docker-compose
|
||||
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
|
||||
|
||||
# switch docker-compose to docker compose
|
||||
# curl -fL https://raw.githubusercontent.com/docker/compose-switch/master/install_on_linux.sh | sudo sh
|
||||
COMPOSE_SWITCH_VERSION="v1.0.4"
|
||||
COMPOSE_SWITCH_URL="https://github.com/docker/compose-switch/releases/download/${COMPOSE_SWITCH_VERSION}/docker-compose-linux-$(dpkg --print-architecture)"
|
||||
if ! docker compose version 2>&1 >/dev/null; then
|
||||
echo "Docker Compose V2 is not installed"
|
||||
exit 1
|
||||
fi
|
||||
curl -fL $COMPOSE_SWITCH_URL -o /usr/local/bin/compose-switch
|
||||
chmod +x /usr/local/bin/compose-switch
|
||||
COMPOSE=$(command -v docker-compose)
|
||||
if [ "$COMPOSE" = /usr/local/bin/docker-compose ]; then
|
||||
# This is a manual installation of docker-compose
|
||||
# so, safe for us to rename binary
|
||||
mv /usr/local/bin/docker-compose /usr/local/bin/docker-compose-v1
|
||||
COMPOSE=/usr/local/bin/docker-compose-v1
|
||||
fi
|
||||
ALTERNATIVES="update-alternatives"
|
||||
if ! command -v $ALTERNATIVES; then
|
||||
ALTERNATIVES=alternatives
|
||||
fi
|
||||
echo "Configuring docker-compose alternatives"
|
||||
if [ -n "$COMPOSE" ]; then
|
||||
$ALTERNATIVES --install /usr/local/bin/docker-compose docker-compose $COMPOSE 1
|
||||
fi
|
||||
$ALTERNATIVES --install /usr/local/bin/docker-compose docker-compose /usr/local/bin/compose-switch 99
|
||||
echo "'docker-compose' is now set to run Compose V2"
|
||||
echo "use '$ALTERNATIVES --config docker-compose' if you want to switch back to Compose V1"
|
||||
|
||||
echo
|
||||
echo "### 3) Symlink the working directory to the SSD"
|
||||
sudo systemctl stop docker
|
||||
sudo systemctl stop docker.socket
|
||||
sudo mv /var/lib/docker /mnt/hdd/
|
||||
sudo ln -s /mnt/hdd/docker /var/lib/docker
|
||||
|
||||
# keep the docker dir on the OS drive if the disk is ZFS - needs special config
|
||||
# https://docs.docker.com/storage/storagedriver/zfs-driver/#configure-docker-with-the-zfs-storage-driver
|
||||
isZFS=$(zfs list 2>/dev/null | grep -c "/mnt/hdd")
|
||||
if [ "${isZFS}" -eq 0 ]; then
|
||||
sudo mv /var/lib/docker /mnt/hdd/
|
||||
sudo ln -s /var/lib/docker /mnt/hdd/docker
|
||||
fi
|
||||
sudo systemctl start docker
|
||||
sudo systemctl start docker.socket
|
||||
|
||||
# setting value in raspi blitz config
|
||||
/home/admin/config.scripts/blitz.conf.sh set docker "on"
|
||||
echo "# Docker install done"
|
||||
docker -v
|
||||
docker compose version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -85,10 +136,13 @@ if [ "$1" = "0" ] || [ "$1" = "off" ]; then
|
|||
/home/admin/config.scripts/blitz.conf.sh set docker "off"
|
||||
echo "*** REMOVING Docker & docker-compose ***"
|
||||
sudo pip3 uninstall -y docker-compose
|
||||
sudo rm /usr/local/lib/docker/cli-plugins/docker-compose
|
||||
sudo rm /usr/local/bin/docker-compose-v1
|
||||
sudo rm /usr/local/bin/compose-switch
|
||||
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io
|
||||
echo "# Docker remove done"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "error='wrong parameter'"
|
||||
exit 1
|
||||
exit 1
|
||||
|
|
Loading…
Add table
Reference in a new issue