Skip to content

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

Open
@akuznecov

Description

@akuznecov

Checklist

  • Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
    • Yes
  • Are you sure you're not using someone else's docker image?
    • Yes
  • Have you searched for similar issues (both open and closed)?
    • Yes

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions