Refactor: Nginx Proxy Manager (#8453)

This commit is contained in:
CanbiZ 2025-10-18 13:33:00 +02:00 committed by GitHub
parent 8ab6e2d469
commit b36b4258cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 35 additions and 23 deletions

View File

@ -28,13 +28,14 @@ function update_script() {
exit exit
fi fi
if ! command -v pnpm &>/dev/null; then if ! command -v yarn &>/dev/null; then
msg_info "Installing pnpm" msg_info "Installing Yarn"
#export NODE_OPTIONS=--openssl-legacy-provider $STD npm install -g yarn
$STD npm install -g pnpm@8.15 msg_ok "Installed Yarn"
msg_ok "Installed pnpm"
fi fi
export NODE_OPTIONS="--openssl-legacy-provider"
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
grep "tag_name" | grep "tag_name" |
awk '{print substr($2, 3, length($2)-4) }') awk '{print substr($2, 3, length($2)-4) }')
@ -49,9 +50,10 @@ function update_script() {
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
cd ./frontend || exit cd ./frontend || exit
$STD pnpm install # Replace node-sass with sass in package.json before installation
$STD pnpm upgrade sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
$STD pnpm run build $STD yarn install --network-timeout 600000
$STD yarn build
) )
msg_ok "Built Frontend" msg_ok "Built Frontend"
@ -71,7 +73,7 @@ function update_script() {
msg_info "Setting up Environment" msg_info "Setting up Environment"
ln -sf /usr/bin/python3 /usr/bin/python ln -sf /usr/bin/python3 /usr/bin/python
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
ln -sf /usr/local/openresty/nginx/ /etc/nginx ln -sf /usr/local/openresty/nginx/ /etc/nginx
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
@ -113,7 +115,12 @@ function update_script() {
cp -r frontend/app-images/* /app/frontend/images cp -r frontend/app-images/* /app/frontend/images
cp -r backend/* /app cp -r backend/* /app
cp -r global/* /app/global cp -r global/* /app/global
$STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare
# Update Certbot and plugins in virtual environment
if [ -d /opt/certbot ]; then
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
$STD /opt/certbot/bin/pip install --upgrade certbot certbot-dns-cloudflare
fi
msg_ok "Setup Environment" msg_ok "Setup Environment"
msg_info "Initializing Backend" msg_info "Initializing Backend"
@ -134,7 +141,8 @@ function update_script() {
EOF EOF
fi fi
cd /app || exit cd /app || exit
$STD pnpm install export NODE_OPTIONS="--openssl-legacy-provider"
$STD yarn install --network-timeout 600000
msg_ok "Initialized Backend" msg_ok "Initialized Backend"
msg_info "Starting Services" msg_info "Starting Services"

View File

@ -13,8 +13,6 @@ setting_up_container
network_check network_check
update_os update_os
setup_go
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt update $STD apt update
$STD apt -y install \ $STD apt -y install \
@ -31,12 +29,16 @@ $STD apt install -y \
python3-dev \ python3-dev \
python3-pip \ python3-pip \
python3-venv \ python3-venv \
python3-cffi \ python3-cffi
python3-certbot \
python3-certbot-dns-cloudflare
$STD pip3 install --break-system-packages certbot-dns-multi
msg_ok "Installed Python Dependencies" msg_ok "Installed Python Dependencies"
msg_info "Setting up Certbot"
$STD python3 -m venv /opt/certbot
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
$STD /opt/certbot/bin/pip install certbot certbot-dns-cloudflare
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
msg_ok "Set up Certbot"
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
msg_info "Installing Openresty" msg_info "Installing Openresty"
@ -53,7 +55,7 @@ $STD apt update
$STD apt -y install openresty $STD apt -y install openresty
msg_ok "Installed Openresty" msg_ok "Installed Openresty"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
grep "tag_name" | grep "tag_name" |
@ -66,7 +68,6 @@ msg_ok "Downloaded Nginx Proxy Manager v${RELEASE}"
msg_info "Setting up Environment" msg_info "Setting up Environment"
ln -sf /usr/bin/python3 /usr/bin/python ln -sf /usr/bin/python3 /usr/bin/python
ln -sf /usr/bin/certbot /usr/local/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
ln -sf /usr/local/openresty/nginx/ /etc/nginx ln -sf /usr/local/openresty/nginx/ /etc/nginx
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
@ -118,9 +119,11 @@ msg_ok "Set up Environment"
msg_info "Building Frontend" msg_info "Building Frontend"
cd ./frontend cd ./frontend
$STD pnpm install export NODE_OPTIONS="--openssl-legacy-provider"
$STD pnpm upgrade # Replace node-sass with sass in package.json before installation
$STD pnpm run build sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
$STD yarn install --network-timeout 600000
$STD yarn build
cp -r dist/* /app/frontend cp -r dist/* /app/frontend
cp -r app-images/* /app/frontend/images cp -r app-images/* /app/frontend/images
msg_ok "Built Frontend" msg_ok "Built Frontend"
@ -143,7 +146,8 @@ if [ ! -f /app/config/production.json ]; then
EOF EOF
fi fi
cd /app cd /app
$STD pnpm install export NODE_OPTIONS="--openssl-legacy-provider"
$STD yarn install --network-timeout 600000
msg_ok "Initialized Backend" msg_ok "Initialized Backend"
msg_info "Creating Service" msg_info "Creating Service"