33# Copyright (c) 2021-2026 community-scripts ORG
44# Author: MickLesk (CanbiZ)
55# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6- # Source: https://komo.do/ | Github: https://github.com/mbecker20 /komodo
6+ # Source: https://komo.do/ | Github: https://github.com/moghtech /komodo
77if ! command -v curl & > /dev/null; then
88 printf " \r\e[2K%b" ' \033[93m Setup Source \033[m' >&2
99 apt-get update > /dev/null 2>&1 || apk update > /dev/null 2>&1
@@ -82,6 +82,7 @@ function update() {
8282 msg_error " Failed to create backup of ${COMPOSE_BASENAME} !"
8383 exit 235
8484 }
85+ cp " $COMPOSE_ENV " " ${COMPOSE_ENV} .bak_$( date +%Y%m%d_%H%M%S) " 2> /dev/null || true
8586
8687 GITHUB_URL=" https://raw.githubusercontent.com/moghtech/komodo/main/compose/${COMPOSE_BASENAME} "
8788 if ! curl -fsSL " $GITHUB_URL " -o " $COMPOSE_FILE " ; then
@@ -90,8 +91,29 @@ function update() {
9091 exit 115
9192 fi
9293
93- if ! grep -qxF ' COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' " $COMPOSE_ENV " ; then
94- sed -i ' /^COMPOSE_KOMODO_IMAGE_TAG=latest$/a COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' " $COMPOSE_ENV "
94+ # === v2 migration: image tag (latest is deprecated) ===
95+ if grep -q ' ^COMPOSE_KOMODO_IMAGE_TAG=latest' " $COMPOSE_ENV " ; then
96+ msg_info " Migrating to Komodo v2 image tag"
97+ sed -i ' s/^COMPOSE_KOMODO_IMAGE_TAG=latest/COMPOSE_KOMODO_IMAGE_TAG=2/' " $COMPOSE_ENV "
98+ msg_ok " Migrated image tag to :2"
99+ fi
100+
101+ # === v2 migration: DB credential variable names ===
102+ if grep -q ' ^KOMODO_DB_USERNAME=' " $COMPOSE_ENV " ; then
103+ msg_info " Migrating database credential variables"
104+ sed -i ' s/^KOMODO_DB_USERNAME=/KOMODO_DATABASE_USERNAME=/' " $COMPOSE_ENV "
105+ sed -i ' s/^KOMODO_DB_PASSWORD=/KOMODO_DATABASE_PASSWORD=/' " $COMPOSE_ENV "
106+ msg_ok " Migrated DB credential variables"
107+ fi
108+
109+ # === v2 migration: remove deprecated passkey (replaced by PKI) ===
110+ if grep -q ' ^KOMODO_PASSKEY=' " $COMPOSE_ENV " ; then
111+ sed -i ' /^KOMODO_PASSKEY=/d' " $COMPOSE_ENV "
112+ fi
113+
114+ # === ensure backups path is set ===
115+ if ! grep -q ' COMPOSE_KOMODO_BACKUPS_PATH=' " $COMPOSE_ENV " ; then
116+ echo ' COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' >> " $COMPOSE_ENV "
95117 fi
96118
97119 $STD docker compose -p komodo -f " $COMPOSE_FILE " --env-file " $COMPOSE_ENV " pull
@@ -192,14 +214,12 @@ function install() {
192214
193215 DB_PASSWORD=$( openssl rand -base64 16 | tr -d ' /+=' )
194216 ADMIN_PASSWORD=$( openssl rand -base64 8 | tr -d ' /+=' )
195- PASSKEY=$( openssl rand -base64 24 | tr -d ' /+=' )
196217 WEBHOOK_SECRET=$( openssl rand -base64 24 | tr -d ' /+=' )
197218 JWT_SECRET=$( openssl rand -base64 24 | tr -d ' /+=' )
198219
199- sed -i " s/^KOMODO_DB_USERNAME =.*/KOMODO_DB_USERNAME =komodo_admin/" " $COMPOSE_ENV "
200- sed -i " s/^KOMODO_DB_PASSWORD =.*/KOMODO_DB_PASSWORD =${DB_PASSWORD} /" " $COMPOSE_ENV "
220+ sed -i " s/^KOMODO_DATABASE_USERNAME =.*/KOMODO_DATABASE_USERNAME =komodo_admin/" " $COMPOSE_ENV "
221+ sed -i " s/^KOMODO_DATABASE_PASSWORD =.*/KOMODO_DATABASE_PASSWORD =${DB_PASSWORD} /" " $COMPOSE_ENV "
201222 sed -i " s/^KOMODO_INIT_ADMIN_PASSWORD=changeme/KOMODO_INIT_ADMIN_PASSWORD=${ADMIN_PASSWORD} /" " $COMPOSE_ENV "
202- sed -i " s/^KOMODO_PASSKEY=.*/KOMODO_PASSKEY=${PASSKEY} /" " $COMPOSE_ENV "
203223 sed -i " s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET} /" " $COMPOSE_ENV "
204224 sed -i " s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET} /" " $COMPOSE_ENV "
205225 msg_ok " Configured environment"
0 commit comments