NginxProxyManager / nginx-proxy-manager

Docker container for managing Nginx proxy hosts with a simple, powerful interface
https://nginxproxymanager.com
MIT License
22.61k stars 2.63k forks source link

Missing Python package during add/renew certs via Gandi DNS provider #4097

Open akuznecov opened 10 hours ago

akuznecov commented 10 hours ago

Checklist

Describe the bug

Got updatedmy homelab installation from 2.11.1 to latest available 2.12.1 and faced with this error during certificate renewal (same stuff for completely fresh add) DNS provider used: Gandi Live DNS

NPM interface error:

CommandError: The 'certbot_plugin_gandi.main' plugin errored while loading: No module named 'six'. You may need to remove or update this plugin. The Certbot log will contain the full error details and this should be reported to the plugin developer.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-u5qgqoth/log or re-run Certbot with -v for more details.

    at /app/lib/utils.js:16:13
    at ChildProcess.exithandler (node:child_process:430:5)
    at ChildProcess.emit (node:events:519:28)
    at maybeClose (node:internal/child_process:1105:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5)

Container log error (domains sanitized) :

app-1  | [10/21/2024] [4:24:49 PM] [SSL      ] › ℹ  info      Renewing Let'sEncrypt certificates via Gandi Live DNS for Cert #4: *.home.xxx.xx, home.xxx.xx
app-1  | [10/21/2024] [4:24:49 PM] [SSL      ] › ℹ  info      Command: certbot renew --force-renewal --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name 'npm-4' --disable-hook-validation --no-random-sleep-on-renew
app-1  | [10/21/2024] [4:24:49 PM] [Global   ] › ⬤  debug     CMD: certbot renew --force-renewal --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name 'npm-4' --disable-hook-validation --no-random-sleep-on-renew
app-1  | [10/21/2024] [4:24:50 PM] [Express  ] › ⚠  warning   The 'certbot_plugin_gandi.main' plugin errored while loading: No module named 'six'. You may need to remove or update this plugin. The Certbot log will contain the full error details and this should be reported to the plugin developer.
app-1  | Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-ku61j6ju/log or re-run Certbot with -v for more details

Same issue reproduced even after downgrading to 2.11.3 Only working one for me is 2.11.1 (haven't tried with 2.11.2)

Nginx Proxy Manager Version 2.11.3 - 2.12.1

Screenshots

npm_001

Operating System Host: Debian 12

Additional context

Docker version 27.3.1

Temporary fix/workaround Dive into container shell and install module manually:

# docker compose exec -ti app /bin/bash

[root@docker-4bdf4a6a3b5e:/app]# . /opt/certbot/bin/activate && pip install --no-cache-dir six && deactivate
Collecting six
Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: six
Successfully installed six-1.16.0