Replaces 'npm ci' with 'npm install --legacy-peer-deps' in install and update scripts to address peer dependency issues. Adds global npm update and turbo prune steps to the update script for better Docker build support.
81 lines
2.5 KiB
Bash
81 lines
2.5 KiB
Bash
#!/usr/bin/env bash
|
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
# Copyright (c) 2021-2025 community-scripts ORG
|
|
# Author: MickLesk (CanbiZ)
|
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
# Source: https://github.com/documenso/documenso
|
|
|
|
APP="Documenso"
|
|
var_tags="${var_tags:-document}"
|
|
var_disk="${var_disk:-12}"
|
|
var_cpu="${var_cpu:-6}"
|
|
var_ram="${var_ram:-6144}"
|
|
var_os="${var_os:-debian}"
|
|
var_version="${var_version:-12}"
|
|
var_unprivileged="${var_unprivileged:-1}"
|
|
|
|
header_info "$APP"
|
|
variables
|
|
color
|
|
catch_errors
|
|
|
|
function update_script() {
|
|
header_info
|
|
check_container_storage
|
|
check_container_resources
|
|
if [[ ! -d /opt/documenso ]]; then
|
|
msg_error "No ${APP} Installation Found!"
|
|
exit
|
|
fi
|
|
RELEASE=$(curl -fsSL https://api.github.com/repos/documenso/documenso/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
msg_info "Stopping Service"
|
|
systemctl stop documenso
|
|
msg_ok "Stopped Service"
|
|
|
|
msg_info "Updating ${APP} to ${RELEASE}"
|
|
cp /opt/documenso/.env /opt/
|
|
rm -rf /opt/documenso
|
|
cd /opt
|
|
curl -fsSL "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
|
|
$STD unzip v${RELEASE}.zip
|
|
mv documenso-${RELEASE} /opt/documenso
|
|
cd /opt/documenso
|
|
mv /opt/.env /opt/documenso/.env
|
|
export TURBO_CACHE=1
|
|
export NEXT_TELEMETRY_DISABLED=1
|
|
export CYPRESS_INSTALL_BINARY=0
|
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
|
$STD turbo prune --scope=@documenso/remix --docker
|
|
cd out
|
|
$STD cp ../lingui.config.ts .
|
|
$STD cp ../turbo.json .
|
|
$STD cp -r json/* .
|
|
$STD npm install --legacy-peer-deps
|
|
$STD cp -r full/* .
|
|
$STD turbo run build --filter=@documenso/remix
|
|
$STD npm run prisma:migrate-deploy
|
|
$STD turbo daemon stop
|
|
rm -rf /opt/v${RELEASE}.zip
|
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
msg_ok "Updated ${APP}"
|
|
|
|
msg_info "Starting Service"
|
|
systemctl start documenso
|
|
msg_ok "Started Service"
|
|
msg_ok "Updated successfully!"
|
|
else
|
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
fi
|
|
exit
|
|
}
|
|
|
|
start
|
|
build_container
|
|
description
|
|
|
|
msg_ok "Completed Successfully!\n"
|
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|