mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-03 18:35:55 +00:00
Refactor Docker/Dockge & Bump to Debian 13 (#10719)
* Refactor Docker/Dockge & Bump to Debian 13 * Add base system update to Dockge update script The update_script function now updates and upgrades the base system before updating Dockge. This ensures the system is up to date prior to pulling new Docker images. * some fixes * Apply suggestion from @tremor021 * Apply suggestion from @tremor021 --------- Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
d505f3df08
commit
e33d4d76fe
28
ct/docker.sh
28
ct/docker.sh
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -24,33 +24,20 @@ function update_script() {
|
|||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
get_latest_release() {
|
|
||||||
curl -fsSL https://api.github.com/repos/"$1"/releases/latest | grep '"tag_name":' | cut -d'"' -f4
|
|
||||||
}
|
|
||||||
|
|
||||||
msg_info "Updating base system"
|
msg_info "Updating base system"
|
||||||
$STD apt-get update
|
$STD apt update
|
||||||
$STD apt-get -y upgrade
|
$STD apt upgrade -y
|
||||||
msg_ok "Base system updated"
|
msg_ok "Base system updated"
|
||||||
|
|
||||||
msg_info "Updating Docker Engine"
|
msg_info "Updating Docker Engine"
|
||||||
$STD apt-get install --only-upgrade -y docker-ce docker-ce-cli containerd.io
|
$STD apt install --only-upgrade -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin
|
||||||
msg_ok "Docker Engine updated"
|
msg_ok "Docker Engine updated"
|
||||||
|
|
||||||
if [[ -f /usr/local/lib/docker/cli-plugins/docker-compose ]]; then
|
|
||||||
COMPOSE_BIN="/usr/local/lib/docker/cli-plugins/docker-compose"
|
|
||||||
COMPOSE_NEW_VERSION=$(get_latest_release "docker/compose")
|
|
||||||
msg_info "Updating Docker Compose to $COMPOSE_NEW_VERSION"
|
|
||||||
curl -fsSL "https://github.com/docker/compose/releases/download/${COMPOSE_NEW_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
|
|
||||||
-o "$COMPOSE_BIN"
|
|
||||||
chmod +x "$COMPOSE_BIN"
|
|
||||||
msg_ok "Docker Compose updated"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if docker ps -a --format '{{.Image}}' | grep -q '^portainer/portainer-ce:latest$'; then
|
if docker ps -a --format '{{.Image}}' | grep -q '^portainer/portainer-ce:latest$'; then
|
||||||
msg_info "Updating Portainer"
|
msg_info "Updating Portainer"
|
||||||
$STD docker pull portainer/portainer-ce:latest
|
$STD docker pull portainer/portainer-ce:latest
|
||||||
$STD docker stop portainer && docker rm portainer
|
$STD docker stop portainer
|
||||||
|
$STD docker rm portainer
|
||||||
$STD docker volume create portainer_data >/dev/null 2>&1
|
$STD docker volume create portainer_data >/dev/null 2>&1
|
||||||
$STD docker run -d \
|
$STD docker run -d \
|
||||||
-p 8000:8000 \
|
-p 8000:8000 \
|
||||||
@@ -66,7 +53,8 @@ function update_script() {
|
|||||||
if docker ps -a --format '{{.Names}}' | grep -q '^portainer_agent$'; then
|
if docker ps -a --format '{{.Names}}' | grep -q '^portainer_agent$'; then
|
||||||
msg_info "Updating Portainer Agent"
|
msg_info "Updating Portainer Agent"
|
||||||
$STD docker pull portainer/agent:latest
|
$STD docker pull portainer/agent:latest
|
||||||
$STD docker stop portainer_agent && docker rm portainer_agent
|
$STD docker stop portainer_agent
|
||||||
|
$STD docker rm portainer_agent
|
||||||
$STD docker run -d \
|
$STD docker run -d \
|
||||||
-p 9001:9001 \
|
-p 9001:9001 \
|
||||||
--name=portainer_agent \
|
--name=portainer_agent \
|
||||||
|
|||||||
12
ct/dockge.sh
12
ct/dockge.sh
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-18}"
|
var_disk="${var_disk:-18}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@@ -27,11 +27,17 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating ${APP}"
|
|
||||||
|
msg_info "Updating base system"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt upgrade -y
|
||||||
|
msg_ok "Base system updated"
|
||||||
|
|
||||||
|
msg_info "Updating Dockge"
|
||||||
cd /opt/dockge
|
cd /opt/dockge
|
||||||
$STD docker compose pull
|
$STD docker compose pull
|
||||||
$STD docker compose up -d
|
$STD docker compose up -d
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated Dockge"
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 18,
|
"hdd": 18,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "13"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -13,32 +13,17 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
get_latest_release() {
|
DOCKER_LATEST_VERSION=$(get_latest_github_release "moby/moby")
|
||||||
curl -fsSL https://api.github.com/repos/"$1"/releases/latest | grep '"tag_name":' | cut -d'"' -f4
|
PORTAINER_LATEST_VERSION=$(get_latest_github_release "portainer/portainer")
|
||||||
}
|
PORTAINER_AGENT_LATEST_VERSION=$(get_latest_github_release "portainer/agent")
|
||||||
|
|
||||||
DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby")
|
msg_info "Installing Docker $DOCKER_LATEST_VERSION (with Compose, Buildx)"
|
||||||
PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer")
|
|
||||||
PORTAINER_AGENT_LATEST_VERSION=$(get_latest_release "portainer/agent")
|
|
||||||
DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose")
|
|
||||||
|
|
||||||
msg_info "Installing Docker $DOCKER_LATEST_VERSION"
|
|
||||||
DOCKER_CONFIG_PATH='/etc/docker/daemon.json'
|
DOCKER_CONFIG_PATH='/etc/docker/daemon.json'
|
||||||
mkdir -p $(dirname $DOCKER_CONFIG_PATH)
|
mkdir -p $(dirname $DOCKER_CONFIG_PATH)
|
||||||
echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json
|
echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json
|
||||||
$STD sh <(curl -fsSL https://get.docker.com)
|
$STD sh <(curl -fsSL https://get.docker.com)
|
||||||
msg_ok "Installed Docker $DOCKER_LATEST_VERSION"
|
msg_ok "Installed Docker $DOCKER_LATEST_VERSION"
|
||||||
|
|
||||||
read -r -p "${TAB3}Install Docker Compose v2 plugin? <y/N> " prompt_compose
|
|
||||||
if [[ ${prompt_compose,,} =~ ^(y|yes)$ ]]; then
|
|
||||||
msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION"
|
|
||||||
mkdir -p /usr/local/lib/docker/cli-plugins
|
|
||||||
curl -fsSL "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_LATEST_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
|
|
||||||
-o /usr/local/lib/docker/cli-plugins/docker-compose
|
|
||||||
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
|
|
||||||
msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION"
|
|
||||||
fi
|
|
||||||
|
|
||||||
read -r -p "${TAB3}Would you like to add Portainer (UI)? <y/N> " prompt
|
read -r -p "${TAB3}Would you like to add Portainer (UI)? <y/N> " prompt
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
|
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
|
||||||
|
|||||||
@@ -13,27 +13,15 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
get_latest_release() {
|
DOCKER_LATEST_VERSION=$(get_latest_github_release "moby/moby")
|
||||||
curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4
|
|
||||||
}
|
|
||||||
|
|
||||||
DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby")
|
msg_info "Installing Docker $DOCKER_LATEST_VERSION (with Compose, Buildx)"
|
||||||
DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose")
|
|
||||||
|
|
||||||
msg_info "Installing Docker $DOCKER_LATEST_VERSION"
|
|
||||||
DOCKER_CONFIG_PATH='/etc/docker/daemon.json'
|
DOCKER_CONFIG_PATH='/etc/docker/daemon.json'
|
||||||
mkdir -p $(dirname $DOCKER_CONFIG_PATH)
|
mkdir -p $(dirname $DOCKER_CONFIG_PATH)
|
||||||
echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json
|
echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json
|
||||||
$STD sh <(curl -fsSL https://get.docker.com)
|
$STD sh <(curl -fsSL https://get.docker.com)
|
||||||
msg_ok "Installed Docker $DOCKER_LATEST_VERSION"
|
msg_ok "Installed Docker $DOCKER_LATEST_VERSION"
|
||||||
|
|
||||||
msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION"
|
|
||||||
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
|
|
||||||
mkdir -p $DOCKER_CONFIG/cli-plugins
|
|
||||||
curl -fsSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
|
|
||||||
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
|
|
||||||
msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION"
|
|
||||||
|
|
||||||
msg_info "Installing Dockge"
|
msg_info "Installing Dockge"
|
||||||
mkdir -p /opt/{dockge,stacks}
|
mkdir -p /opt/{dockge,stacks}
|
||||||
curl -fsSL "https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml" -o "/opt/dockge/compose.yaml"
|
curl -fsSL "https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml" -o "/opt/dockge/compose.yaml"
|
||||||
|
|||||||
Reference in New Issue
Block a user