From 7fec6ed15687e8ee4be66106cca3a43df505fd78 Mon Sep 17 00:00:00 2001 From: MickLesk Date: Sat, 21 Mar 2026 19:08:39 +0100 Subject: [PATCH] fix(nginxproxymanager): reorder update to migrate OpenResty from apt to source - Move OpenResty apt removal + source build before environment setup - Ensures symlinks and configs point to freshly built OpenResty - Use simplified systemd service (Type=simple, daemon off) - Remove duplicate OpenResty build block --- ct/nginxproxymanager.sh | 91 +++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 48 deletions(-) diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh index 7b05771c..bb639fe7 100644 --- a/ct/nginxproxymanager.sh +++ b/ct/nginxproxymanager.sh @@ -69,6 +69,48 @@ function update_script() { /var/cache/nginx msg_ok "Cleaned old files" + msg_info "Migrating to OpenResty from source" + rm -f /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg /etc/apt/trusted.gpg.d/openresty.gpg + rm -f /etc/apt/sources.list.d/openresty.list /etc/apt/sources.list.d/openresty.sources + if dpkg -l openresty &>/dev/null; then + $STD apt remove -y openresty + $STD apt autoremove -y + fi + $STD apt install -y build-essential libpcre3-dev libssl-dev zlib1g-dev + msg_ok "Migrated to OpenResty from source" + + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "openresty" "openresty/openresty" "prebuild" "latest" "/opt/openresty" "openresty-*.tar.gz" + + msg_info "Building OpenResty" + cd /opt/openresty + $STD ./configure \ + --with-http_v2_module \ + --with-http_realip_module \ + --with-http_stub_status_module \ + --with-http_ssl_module \ + --with-pcre-jit \ + --with-stream \ + --with-stream_ssl_module + $STD make -j"$(nproc)" + $STD make install + rm -rf /opt/openresty + cat <<'EOF' >/lib/systemd/system/openresty.service +[Unit] +Description=The OpenResty Application Platform +After=syslog.target network-online.target remote-fs.target nss-lookup.target +Wants=network-online.target + +[Service] +Type=simple +ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t +ExecStart=/usr/local/openresty/nginx/sbin/nginx -g 'daemon off;' + +[Install] +WantedBy=multi-user.target +EOF + systemctl daemon-reload + msg_ok "Built OpenResty" + msg_info "Setting up Environment" ln -sf /usr/bin/python3 /usr/bin/python ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx @@ -154,54 +196,6 @@ EOF $STD yarn install --network-timeout 600000 msg_ok "Initialized Backend" - msg_info "Cleaning old OpenResty apt repo" - rm -f /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg /etc/apt/trusted.gpg.d/openresty.gpg - rm -f /etc/apt/sources.list.d/openresty.list /etc/apt/sources.list.d/openresty.sources - if dpkg -l openresty &>/dev/null; then - $STD apt remove -y openresty - $STD apt autoremove -y - fi - $STD apt install -y build-essential libpcre3-dev libssl-dev zlib1g-dev - msg_ok "Cleaned old OpenResty apt repo" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "openresty" "openresty/openresty" "prebuild" "latest" "/opt/openresty" "openresty-*.tar.gz" - - msg_info "Building OpenResty" - cd /opt/openresty - $STD ./configure \ - --with-http_v2_module \ - --with-http_realip_module \ - --with-http_stub_status_module \ - --with-http_ssl_module \ - --with-pcre-jit \ - --with-stream \ - --with-stream_ssl_module - $STD make -j"$(nproc)" - $STD make install - rm -rf /opt/openresty - if [ ! -f /lib/systemd/system/openresty.service ]; then - cat <<'EOF' >/lib/systemd/system/openresty.service -[Unit] -Description=The OpenResty Application Platform -After=syslog.target network-online.target remote-fs.target nss-lookup.target -Wants=network-online.target - -[Service] -Type=forking -PIDFile=/usr/local/openresty/nginx/logs/nginx.pid -ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t -ExecStart=/usr/local/openresty/nginx/sbin/nginx -ExecReload=/bin/kill -s HUP $MAINPID -ExecStop=/bin/kill -s QUIT $MAINPID -PrivateTmp=true - -[Install] -WantedBy=multi-user.target -EOF - systemctl daemon-reload - fi - msg_ok "Built OpenResty" - msg_info "Updating Certbot" if [ -d /opt/certbot ]; then $STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel @@ -212,6 +206,7 @@ EOF msg_info "Starting Services" sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf sed -r -i 's/^([[:space:]]*)su npm npm/\1#su npm npm/g;' /etc/logrotate.d/nginx-proxy-manager + systemctl daemon-reload systemctl enable -q --now openresty systemctl enable -q --now npm systemctl restart openresty