From 47587c8ddf11f9744579cc370c99113e4c01c153 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Mon, 9 Feb 2026 08:33:24 +0100 Subject: [PATCH] fix(nginxproxymanager): update for better-sqlite3 and setup wizard NPM switched to better-sqlite3 as the knex database client. The old sqlite3 client causes 'Internal Error' on user creation. - Update production.json in install/update to use better-sqlite3 - Add sed patch in update script to fix existing production.json - Add useNullAsDefault: true to match upstream knex config - Remove default credentials from JSON (NPM now uses setup wizard) - Add note about setup wizard for first-time users Ref: NginxProxyManager/nginx-proxy-manager@0b2fa82 Closes #11681 --- ct/nginxproxymanager.sh | 6 ++++-- frontend/public/json/nginxproxymanager.json | 8 ++++++-- install/nginxproxymanager-install.sh | 5 +++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh index 8abb75738..0e1ab3dac 100644 --- a/ct/nginxproxymanager.sh +++ b/ct/nginxproxymanager.sh @@ -145,15 +145,17 @@ function update_script() { "database": { "engine": "knex-native", "knex": { - "client": "sqlite3", + "client": "better-sqlite3", "connection": { "filename": "/data/database.sqlite" - } + }, + "useNullAsDefault": true } } } EOF fi + sed -i 's/"client": "sqlite3"/"client": "better-sqlite3"/' /app/config/production.json cd /app $STD yarn install --network-timeout 600000 msg_ok "Initialized Backend" diff --git a/frontend/public/json/nginxproxymanager.json b/frontend/public/json/nginxproxymanager.json index 4bf328876..7b6f5d236 100644 --- a/frontend/public/json/nginxproxymanager.json +++ b/frontend/public/json/nginxproxymanager.json @@ -30,10 +30,14 @@ } ], "default_credentials": { - "username": "admin@example.com", - "password": "changeme" + "username": null, + "password": null }, "notes": [ + { + "text": "On first launch, a setup wizard will guide you through creating an admin account. There are no default credentials.", + "type": "warning" + }, { "text": "You can install the specific one certbot you prefer, or you can Running /app/scripts/install-certbot-plugins within the Nginx Proxy Manager (NPM) LXC shell will install many common plugins. Important: This script does not install all Certbot plugins, as some require additional, external system dependencies (like specific packages for certain DNS providers). These external dependencies must be manually installed within the LXC container before you can successfully install and use the corresponding Certbot plugin. Consult the plugin's documentation for required packages.", "type": "info" diff --git a/install/nginxproxymanager-install.sh b/install/nginxproxymanager-install.sh index 01de825c2..c1914e857 100644 --- a/install/nginxproxymanager-install.sh +++ b/install/nginxproxymanager-install.sh @@ -130,10 +130,11 @@ if [ ! -f /app/config/production.json ]; then "database": { "engine": "knex-native", "knex": { - "client": "sqlite3", + "client": "better-sqlite3", "connection": { "filename": "/data/database.sqlite" - } + }, + "useNullAsDefault": true } } }