Skip to content

Commit 23d5cd1

Browse files
authored
update_script
1 parent 8e55a9b commit 23d5cd1

File tree

1 file changed

+63
-13
lines changed

1 file changed

+63
-13
lines changed

ct/docker.sh

Lines changed: 63 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,73 @@ color
2020
catch_errors
2121

2222
function update_script() {
23-
header_info
24-
check_container_storage
25-
check_container_resources
26-
if [[ ! -d /var ]]; then
27-
msg_error "No ${APP} Installation Found!"
28-
exit
29-
fi
30-
msg_info "Updating ${APP} LXC"
31-
$STD apt-get update
32-
$STD apt-get -y upgrade
33-
msg_ok "Updated ${APP} LXC"
34-
exit
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
27+
get_latest_release() {
28+
curl -fsSL https://api.github.com/repos/"$1"/releases/latest | grep '"tag_name":' | cut -d'"' -f4
29+
}
30+
31+
msg_info "Updating base system"
32+
$STD apt-get update
33+
$STD apt-get -y upgrade
34+
msg_ok "Base system updated"
35+
36+
msg_info "Updating Docker Engine"
37+
$STD apt-get install --only-upgrade -y docker-ce docker-ce-cli containerd.io
38+
msg_ok "Docker Engine updated"
39+
40+
if [[ -f /usr/local/lib/docker/cli-plugins/docker-compose ]]; then
41+
COMPOSE_BIN="/usr/local/lib/docker/cli-plugins/docker-compose"
42+
COMPOSE_NEW_VERSION=$(get_latest_release "docker/compose")
43+
msg_info "Updating Docker Compose to $COMPOSE_NEW_VERSION"
44+
curl -fsSL "https://github.com/docker/compose/releases/download/${COMPOSE_NEW_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
45+
-o "$COMPOSE_BIN"
46+
chmod +x "$COMPOSE_BIN"
47+
msg_ok "Docker Compose updated"
48+
fi
49+
50+
if docker ps -a --format '{{.Names}}' | grep -q '^portainer$'; then
51+
msg_info "Updating Portainer"
52+
docker pull portainer/portainer-ce:latest
53+
docker stop portainer && docker rm portainer
54+
docker volume create portainer_data >/dev/null 2>&1
55+
$STD docker run -d \
56+
-p 8000:8000 \
57+
-p 9443:9443 \
58+
--name=portainer \
59+
--restart=always \
60+
-v /var/run/docker.sock:/var/run/docker.sock \
61+
-v portainer_data:/data \
62+
portainer/portainer-ce:latest
63+
msg_ok "Updated Portainer"
64+
fi
65+
66+
if docker ps -a --format '{{.Names}}' | grep -q '^portainer_agent$'; then
67+
msg_info "Updating Portainer Agent"
68+
docker pull portainer/agent:latest
69+
docker stop portainer_agent && docker rm portainer_agent
70+
$STD docker run -d \
71+
-p 9001:9001 \
72+
--name=portainer_agent \
73+
--restart=always \
74+
-v /var/run/docker.sock:/var/run/docker.sock \
75+
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
76+
portainer/agent
77+
msg_ok "Updated Portainer Agent"
78+
fi
79+
80+
msg_info "Cleaning up"
81+
$STD apt-get -y autoremove
82+
$STD apt-get -y autoclean
83+
msg_ok "Cleanup complete"
84+
exit
3585
}
3686

3787
start
3888
build_container
3989
description
4090

4191
msg_ok "Completed Successfully!\n"
42-
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
92+
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"

0 commit comments

Comments
 (0)