From edfd39ce604f2b97f837cbd25b337d45187e3b75 Mon Sep 17 00:00:00 2001 From: Peter Wood Date: Thu, 20 Jul 2023 00:49:15 +0000 Subject: [PATCH] shell scripts from io --- cloudflared_redeploy.sh | 6 +++++ update-containers.sh | 49 +++++++++++++++++++++++++++++++++++++++++ update-portainer.sh | 3 +++ 3 files changed, 58 insertions(+) create mode 100755 cloudflared_redeploy.sh create mode 100755 update-containers.sh create mode 100755 update-portainer.sh diff --git a/cloudflared_redeploy.sh b/cloudflared_redeploy.sh new file mode 100755 index 0000000..9fb93a2 --- /dev/null +++ b/cloudflared_redeploy.sh @@ -0,0 +1,6 @@ + 1 + 2 #!/bin/bash + 3 + 4 systemctl stop cloudflared + 5 cp /home/acedanger/.cloudflared/config.yml /etc/cloudflared/ + 6 systemctl start cloudflared diff --git a/update-containers.sh b/update-containers.sh new file mode 100755 index 0000000..d1afc6f --- /dev/null +++ b/update-containers.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# go to "docker/media" folder +cd ~/docker/media + +# stop docker +echo "Stopping docker" +docker compose down + +ERROR_FILE="/tmp/docker-images-update.error" + +# make sure that docker is running +DOCKER_INFO_OUTPUT=$(docker info 2> /dev/null | grep "Containers:" | awk '{print $1}') + +if [ "$DOCKER_INFO_OUTPUT" == "Containers:" ] + then + echo "Docker is running, so we can continue" + else + echo "Docker is not running, exiting" + exit 1 +fi + +# get a list of docker images that are currently installed +IMAGES_WITH_TAGS=$(docker images | grep -v REPOSITORY | grep -v TAG | grep -v "" | awk '{printf("%s:%s\n", $1, $2)}') + +# run docker pull on all of the images +for IMAGE in $IMAGES_WITH_TAGS; do + echo "*****" + echo "Updating $IMAGE" + docker pull $IMAGE 2> $ERROR_FILE + if [ $? != 0 ]; then + ERROR=$(cat $ERROR_FILE | grep "not found") + if [ "$ERROR" != "" ]; then + echo "WARNING: Docker image $IMAGE not found in repository, skipping" + else + echo "ERROR: docker pull failed on image - $IMAGE" + exit 2 + fi + fi + echo "*****" + echo +done + +# restart docker +echo "Restarting Docker" +docker compose up -d + +# did everything finish correctly? Then we can exit +echo "Docker images are now up to date" +exit 0 diff --git a/update-portainer.sh b/update-portainer.sh new file mode 100755 index 0000000..f814201 --- /dev/null +++ b/update-portainer.sh @@ -0,0 +1,3 @@ +docker stop portainer +docker rm portainer +docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --name=portainer --restart=always --pull=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee:latest