Pangolin Traefik test

This commit is contained in:
tremor021
2025-11-07 10:35:50 +01:00
parent e6b42a2b86
commit d1fac2b3d6
2 changed files with 174 additions and 55 deletions

View File

@@ -1,8 +1,8 @@
#!/usr/bin/env bash
source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func)
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://pangolin.net/
APP="Pangolin"
@@ -13,6 +13,7 @@ var_disk="${var_disk:-5}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
var_tun="${var_tun:-1}"
header_info "$APP"
variables
@@ -29,44 +30,40 @@ function update_script() {
fi
if check_for_gh_release "pangolin" "fosrl/pangolin"; then
msg_info "Stopping ${APP}"
msg_info "Stopping Service"
systemctl stop pangolin
systemctl stop gerbil
msg_info "Service stopped"
msg_info "Creating backup"
tar -czf /opt/pangolin_config_backup.tar.gz -C /opt/pangolin config
msg_ok "Created backup"
fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball"
fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_amd64"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_amd64"
msg_info "Updating ${APP}"
export BUILD=oss
export DATABASE=sqlite
msg_info "Updating Pangolin"
cd /opt/pangolin
$STD npm ci
echo "export * from \"./$DATABASE\";" > server/db/index.ts
echo "export const build = \"$BUILD\" as any;" > server/build.ts
cp tsconfig.oss.json tsconfig.json
$STD npm run next:build
$STD node esbuild.mjs -e server/index.ts -o dist/server.mjs -b $BUILD
$STD node esbuild.mjs -e server/setup/migrationsSqlite.ts -o dist/migrations.mjs
$STD npm run set:sqlite
$STD npm run set:oss
rm -rf server/private
$STD npm run build:sqlite
$STD npm run build:cli
cp -R .next/standalone ./
cat <<EOF >/usr/local/bin/pangctl
#!/bin/sh
cd /opt/pangolin
./dist/cli.mjs "$@"
EOF
chmod +x /usr/local/bin/pangctl ./dist/cli.mjs
chmod +x ./dist/cli.mjs
cp server/db/names.json ./dist/names.json
msg_ok "Updated ${APP}"
msg_ok "Updated Pangolin"
msg_info "Restoring config"
tar -xzf /opt/pangolin_config_backup.tar.gz -C /opt/pangolin --overwrite
rm -f /opt/pangolin_config_backup.tar.gz
msg_ok "Restored config"
msg_info "Starting Services"
systemctl start pangolin
systemctl start gerbil
msg_ok "Started Services"
msg_ok "Updated successfully!"
fi
exit