finalize tandoor

This commit is contained in:
CanbiZ 2025-08-07 13:14:01 +02:00 committed by Push From Github
parent 0af0621421
commit 14f213ea19
2 changed files with 53 additions and 56 deletions

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (Canbiz) # Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://tandoor.dev/ # Source: https://tandoor.dev/
@ -20,68 +20,66 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/tandoor ]]; then if [[ ! -d /opt/tandoor ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if [[ ! -f ~/.tandoor ]]; then if [[ ! -f ~/.tandoor ]]; then
msg_error "v1 Installation found, please create an new LXC!" msg_error "v1 Installation found, please export your data and create an new LXC."
exit exit
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.tandoor 2>/dev/null)" ]] || [[ ! -f ~/.tandoor ]]; then if [[ "${RELEASE}" != "$(cat ~/.tandoor 2>/dev/null)" ]] || [[ ! -f ~/.tandoor ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop tandoor systemctl stop tandoor
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "Creating Backup" msg_info "Creating Backup"
BACKUP_FILE="/opt/tandoor_backup_$(date +%F).tar.gz" mv /opt/tandoor /opt/tandoor.bak
$STD tar -czf "$BACKUP_FILE" /opt/tandoor/{.env,start.sh} /opt/tandoor/database/ &>/dev/null msg_ok "Backup Created"
mv /opt/tandoor/.env /opt/.env
msg_ok "Backup Created"
NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs NODE_VERSION="20" NODE_MODULE="yarn" setup_nodejs
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor" PYTHON_VERSION="3.13" setup_uv
PYTHON_VERSION="3.13" setup_uv fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP to ${RELEASE}"
mkdir -p /opt/tandoor/{config,api,mediafiles,staticfiles} cp -r /opt/tandoor.bak/{config,api,mediafiles,staticfiles} /opt/tandoor/
mv /opt/.env /opt/tandoor/.env mv /opt/.env /opt/tandoor/.env
cd /opt/tandoor cd /opt/tandoor
$STD uv venv .venv --python=python3 $STD uv venv .venv --python=python3
$STD uv pip install -r requirements.txt --python .venv/bin/python $STD uv pip install -r requirements.txt --python .venv/bin/python
cd /opt/tandoor/vue3 cd /opt/tandoor/vue3
$STD yarn install $STD yarn install
$STD yarn build $STD yarn build
TANDOOR_VERSION="$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r .tag_name)" TANDOOR_VERSION="$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r .tag_name)"
cat <<EOF >/opt/tandoor/cookbook/version_info.py cat <<EOF >/opt/tandoor/cookbook/version_info.py
TANDOOR_VERSION = "$TANDOOR_VERSION" TANDOOR_VERSION = "$TANDOOR_VERSION"
TANDOOR_REF = "bare-metal" TANDOOR_REF = "bare-metal"
VERSION_INFO = [] VERSION_INFO = []
EOF EOF
cd /opt/tandoor cd /opt/tandoor
$STD /opt/tandoor/.venv/bin/python manage.py migrate $STD /opt/tandoor/.venv/bin/python manage.py migrate
$STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input $STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input
msg_ok "Updated $APP to ${RELEASE}" msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP" msg_info "Starting $APP"
systemctl start tandoor systemctl start tandoor
systemctl reload nginx systemctl reload nginx
msg_ok "Started $APP" msg_ok "Started $APP"
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf "$BACKUP_FILE" rm -rf /opt/tandoor.bak
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
msg_ok "Update Successful" msg_ok "Update Successful"
else else
msg_ok "No update required. ${APP} is already at v${RELEASE}" msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi fi
exit exit
} }
start start

View File

@ -1,8 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 community-scripts ORG
# Author: tteck # Author: MickLesk (Canbiz)
# Co-Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://tandoor.dev/ # Source: https://tandoor.dev/
@ -31,7 +30,7 @@ $STD apt-get install -y --no-install-recommends \
libxmlsec1-openssl libxmlsec1-openssl
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs NODE_VERSION="20" NODE_MODULE="yarn" setup_nodejs
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor" fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
PG_VERSION="16" setup_postgresql PG_VERSION="16" setup_postgresql
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv