NPMplus

NPMplus

Docker app from Railloune's Repository

Overview

NPMplus is an improved fork of Nginx Proxy Manager. This Unraid template provides a ready-to-use bridge-mode setup with grouped variables for ports, ACME, nginx/TLS, GoAccess, PHP, OIDC/auth-request and optional external MariaDB. Review the port mappings before first start, especially if the Unraid WebUI already uses ports 80 or 443.

Runtime arguments

Web UI
http://[IP]:[PORT:81]
Network
bridge
Shell
sh
Privileged
false
Extra Params
--security-opt=no-new-privileges:true

Template configuration

Paths - DataPathrw

Persistent NPMplus data, certificates, nginx configuration and database files when SQLite is used.

Target
/data
Default
/mnt/user/appdata/npmplus
Value
/mnt/user/appdata/npmplus
Paths - Web rootPathrw

Optional web root if you want NPMplus to serve static HTML/PHP content directly.

Target
/var/www
Default
/mnt/user/appdata/npmplus/www
Paths - GoAccess GeoIP DBPathrw

Optional GeoIP database directory for GoAccess. Put MaxMind GeoLite2 files here if GOA is enabled.

Target
/opt/npmplus/goaccess/geoip
Default
/mnt/user/appdata/npmplus/goaccess/geoip
Core - TZVariable

Timezone, for example Europe/Paris or America/New_York.

Target
TZ
Default
Etc/UTC
Value
Etc/UTC
Core - ENABLE_PRERUNVariable
Target
ENABLE_PRERUN
Default
false
Value
false
Core - PUIDVariable

Unraid nobody user id. Use 0 only if you know why you need root inside the container.

Target
PUID
Default
99
Value
99
Core - PGIDVariable

Unraid users group id.

Target
PGID
Default
100
Value
100
Core - DISABLE_GRAVATARVariable
Target
DISABLE_GRAVATAR
Default
true
Value
true
Core - COOKIE_SECRETVariable
Target
COOKIE_SECRET
Default
some-random-string
Ports - NPM_PORTVariable
Target
NPM_PORT
Default
81
Value
81
Ports - NPM UI host portPorttcp

Host port for the NPMplus web interface.

Target
81
Default
81
Value
81
Ports - GOA_PORTVariable
Target
GOA_PORT
Default
91
Value
91
Ports - GoAccess host portPorttcp

Host port for GoAccess. Keep equal to GOA_PORT unless you know why you need a different mapping.

Target
91
Default
91
Value
91
Ports - HTTP_PORTVariable

Internal HTTP port used by NPMplus. Host port below maps to this container port.

Target
HTTP_PORT
Default
8080
Value
8080
Ports - HTTP host portPorttcp

Host port for HTTP traffic. Change this if Unraid already uses port 80.

Target
8080
Default
80
Value
80
Ports - HTTPS_PORTVariable

Internal HTTPS port used by NPMplus. Host ports below map to this container port.

Target
HTTPS_PORT
Default
8443
Value
8443
Ports - HTTPS host port TCPPorttcp

Host port for HTTPS traffic. Change this if Unraid already uses port 443.

Target
8443
Default
443
Value
443
Ports - HTTPS host port UDPPortudp

This is just the port binding for HTTPS_PORT if u are in bridge mode, this need to be = to HTTPS_PORT Port Config

Target
8443
Default
443
Value
443
Ports / bind - IPV4_BINDINGVariable
Target
IPV4_BINDING
Default
0.0.0.0
Value
0.0.0.0
Ports / bind - NPM_IPV4_BINDINGVariable
Target
NPM_IPV4_BINDING
Default
0.0.0.0
Value
0.0.0.0
Ports / bind - GOA_IPV4_BINDINGVariable
Target
GOA_IPV4_BINDING
Default
0.0.0.0
Value
0.0.0.0
Ports / bind - IPV6_BINDINGVariable
Target
IPV6_BINDING
Default
[::]
Value
[::]
Ports / bind - NPM_IPV6_BINDINGVariable
Target
NPM_IPV6_BINDING
Default
[::]
Value
[::]
Ports / bind - GOA_IPV6_BINDINGVariable
Target
GOA_IPV6_BINDING
Default
[::]
Value
[::]
Ports / bind - DISABLE_IPV6Variable
Target
DISABLE_IPV6
Default
false
Value
false
Ports / bind - NPM_LISTEN_LOCALHOSTVariable
Target
NPM_LISTEN_LOCALHOST
Default
false
Value
false
Ports / bind - GOA_LISTEN_LOCALHOSTVariable
Target
GOA_LISTEN_LOCALHOST
Default
false
Value
false
Ports / bind - DISABLE_HTTPVariable
Target
DISABLE_HTTP
Default
false
Value
false
Ports / bind - DISABLE_H3_QUICVariable
Target
DISABLE_H3_QUIC
Default
false
Value
false
Ports / bind - ENABLE_MPTCPVariable
Target
ENABLE_MPTCP
Default
false
Value
false
ACME - ACME_EMAILVariable
Target
ACME_EMAIL
Default
you@example.com
ACME - ACME_SERVERVariable
Target
ACME_SERVER
Default
https://acme-v02.api.letsencrypt.org/directory
Value
https://acme-v02.api.letsencrypt.org/directory
ACME - ACME_EAB_KIDVariable
Target
ACME_EAB_KID
ACME - ACME_EAB_HMAC_KEYVariable
Target
ACME_EAB_HMAC_KEY
ACME - ACME_PROFILEVariable
Target
ACME_PROFILE
ACME - ACME_MUST_STAPLEVariable
Target
ACME_MUST_STAPLE
Default
false
Value
false
ACME - ACME_OCSP_STAPLINGVariable
Target
ACME_OCSP_STAPLING
Default
false
Value
false
ACME - ACME_KEY_TYPEVariable
Target
ACME_KEY_TYPE
Default
ecdsa
Value
ecdsa
ACME - ACME_KEY_SIZEVariable
Target
ACME_KEY_SIZE
Default
secp384r1
Value
secp384r1
ACME - ACME_SERVER_TLS_VERIFYVariable
Target
ACME_SERVER_TLS_VERIFY
Default
true
Value
true
ACME - CUSTOM_OCSP_STAPLINGVariable
Target
CUSTOM_OCSP_STAPLING
Default
false
Value
false
ACME - DEFAULT_CERT_IDVariable
Target
DEFAULT_CERT_ID
Default
0
Value
0
Proxy protocol - LISTEN_PROXY_PROTOCOLVariable
Target
LISTEN_PROXY_PROTOCOL
Default
false
Value
false
Proxy protocol - LISTEN_PROXY_PROTOCOL_HTTPVariable
Target
LISTEN_PROXY_PROTOCOL_HTTP
Default
false
Value
false
Proxy protocol - LISTEN_PROXY_PROTOCOL_HTTPSVariable
Target
LISTEN_PROXY_PROTOCOL_HTTPS
Default
false
Value
false
Nginx / TLS - NGINX_QUIC_BPFVariable
Target
NGINX_QUIC_BPF
Default
false
Value
false
Nginx / TLS - NGINX_LOG_NOT_FOUNDVariable
Target
NGINX_LOG_NOT_FOUND
Default
false
Value
false
Nginx / TLS - NGINX_WORKER_PROCESSESVariable
Target
NGINX_WORKER_PROCESSES
Default
auto
Value
auto
Nginx / TLS - NGINX_WORKER_CONNECTIONSVariable
Target
NGINX_WORKER_CONNECTIONS
Default
512
Value
512
Nginx / TLS - NGINX_FORCE_X25519MLKEM768Variable
Target
NGINX_FORCE_X25519MLKEM768
Default
false
Value
false
Nginx / TLS - NGINX_DISABLE_TLS12Variable
Target
NGINX_DISABLE_TLS12
Default
false
Value
false
Nginx / TLS - NGINX_TRUST_SECPR1Variable
Target
NGINX_TRUST_SECPR1
Default
true
Value
true
Nginx / TLS - NGINX_TRUST_RSA_PKCS1Variable

Enables rsa_pkcs1_sha512:rsa_pkcs1_sha384:rsa_pkcs1_sha256 sigalgs. Default false. Enable only if you use an RSA key and a client does not support RSA-PSS.

Target
NGINX_TRUST_RSA_PKCS1
Default
false
Value
false
Nginx / TLS - DISABLE_NGINX_BEAUTIFIERVariable
Target
DISABLE_NGINX_BEAUTIFIER
Default
false
Value
false
Nginx / TLS - TRUST_CLOUDFLAREVariable
Target
TRUST_CLOUDFLARE
Default
false
Value
false
Modules - NGINX_LOAD_OPENAPPSEC_ATTACHMENT_MODULEVariable
Target
NGINX_LOAD_OPENAPPSEC_ATTACHMENT_MODULE
Default
false
Value
false
Modules - NGINX_LOAD_NJS_MODULEVariable
Target
NGINX_LOAD_NJS_MODULE
Default
false
Value
false
Modules - NGINX_LOAD_GEOIP2_MODULEVariable
Target
NGINX_LOAD_GEOIP2_MODULE
Default
false
Value
false
Modules - NGINX_LOAD_LDAP_MODULEVariable
Target
NGINX_LOAD_LDAP_MODULE
Default
false
Value
false
Modules - NGINX_LOAD_NTLM_MODULEVariable
Target
NGINX_LOAD_NTLM_MODULE
Default
false
Value
false
Modules - NGINX_LOAD_VHOST_TRAFFIC_STATUS_MODULEVariable
Target
NGINX_LOAD_VHOST_TRAFFIC_STATUS_MODULE
Default
false
Value
false
Logs / GoAccess - LOGROTATEVariable
Target
LOGROTATE
Default
true
Value
true
Logs / GoAccess - LOGROTATIONSVariable
Target
LOGROTATIONS
Default
7
Value
7
Logs / GoAccess - CERTBOT_RUN_INTERVALVariable
Target
CERTBOT_RUN_INTERVAL
Default
3
Value
3
Logs / GoAccess - ECH_ROTATION_INTERVALVariable
Target
ECH_ROTATION_INTERVAL
Default
1
Value
1
Logs / GoAccess - GOAVariable
Target
GOA
Default
false
Value
false
Logs / GoAccess - GOACLAVariable
Target
GOACLA
Default
--agent-list --real-os --double-decode --anonymize-ip --anonymize-level=1 --keep-last=30 --with-output-resolver --no-query-string
Value
--agent-list --real-os --double-decode --anonymize-ip --anonymize-level=1 --keep-last=30 --with-output-resolver --no-query-string
PHP - PHP82Variable
Target
PHP82
Default
false
Value
false
PHP - PHP82_APKSVariable
Target
PHP82_APKS
PHP - PHP83Variable
Target
PHP83
Default
false
Value
false
PHP - PHP83_APKSVariable
Target
PHP83_APKS
PHP - PHP84Variable
Target
PHP84
Default
false
Value
false
PHP - PHP84_APKSVariable
Target
PHP84_APKS
PHP - PHP85Variable
Target
PHP85
Default
false
Value
false
PHP - PHP85_APKSVariable
Target
PHP85_APKS
PHP - PHP_APKSVariable
Target
PHP_APKS
Initial admin - INITIAL_ADMIN_EMAILVariable
Target
INITIAL_ADMIN_EMAIL
Initial admin - INITIAL_ADMIN_PASSWORDVariable
Target
INITIAL_ADMIN_PASSWORD
Initial admin - INITIAL_DEFAULT_PAGEVariable
Target
INITIAL_DEFAULT_PAGE
Default
congratulations
Value
congratulations
OIDC - OIDC_REDIRECT_DOMAINVariable
Target
OIDC_REDIRECT_DOMAIN
OIDC - OIDC_ISSUER_URLVariable
Target
OIDC_ISSUER_URL
OIDC - NODE_TLS_REJECT_UNAUTHORIZEDVariable
Target
NODE_TLS_REJECT_UNAUTHORIZED
OIDC - OIDC_CLIENT_IDVariable
Target
OIDC_CLIENT_ID
OIDC - OIDC_CLIENT_SECRETVariable
Target
OIDC_CLIENT_SECRET
OIDC - OIDC_REQUIRE_VERIFIED_EMAILVariable
Target
OIDC_REQUIRE_VERIFIED_EMAIL
OIDC - OIDC_DISABLE_PASSWORDVariable
Target
OIDC_DISABLE_PASSWORD
Auth request - AUTH_REQUEST_ANUBIS_UPSTREAMVariable
Target
AUTH_REQUEST_ANUBIS_UPSTREAM
Auth request - AUTH_REQUEST_TINYAUTH_UPSTREAMVariable
Target
AUTH_REQUEST_TINYAUTH_UPSTREAM
Auth request - AUTH_REQUEST_OAUTH2PROXY_UPSTREAMVariable
Target
AUTH_REQUEST_OAUTH2PROXY_UPSTREAM
Auth request - AUTH_REQUEST_VOIDAUTH_UPSTREAMVariable
Target
AUTH_REQUEST_VOIDAUTH_UPSTREAM
Auth request - AUTH_REQUEST_AUTHELIA_UPSTREAMVariable
Target
AUTH_REQUEST_AUTHELIA_UPSTREAM
Auth request - AUTH_REQUEST_AUTHENTIK_UPSTREAMVariable
Target
AUTH_REQUEST_AUTHENTIK_UPSTREAM
Database - DB_MYSQL_NAMEVariable

Optional external MariaDB/MySQL database name. Leave empty to use the built-in SQLite database.

Target
DB_MYSQL_NAME
Database - DB_MYSQL_PORTVariable
Target
DB_MYSQL_PORT
Database - DB_MYSQL_HOSTVariable
Target
DB_MYSQL_HOST
Database - DB_MYSQL_USERVariable
Target
DB_MYSQL_USER
Database - DB_MYSQL_PASSWORDVariable
Target
DB_MYSQL_PASSWORD

Download Statistics

1,303,254
Total Downloads

Details

Repository
zoeyvid/npmplus:latest
Last Updated2026-05-28
First Seen2024-01-19

Run NPMplus on Unraid.

NPMplus is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.