Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
akuznecov opened this issue Oct 21, 2024 · 9 comments · May be fixed by #4435
Open

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

akuznecov opened this issue Oct 21, 2024 · 9 comments · May be fixed by #4435
Labels

Comments

@akuznecov
Copy link

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
@akuznecov akuznecov added the bug label Oct 21, 2024
@EnzoKilm
Copy link

I'm also having the exact same issue.

@akuznecov thanks for your temporary fix, it worked for me.

@jamespoore
Copy link

Also adding my +1 here, I too have the same issue described here.

@yroyathon
Copy link

+1 same issue here, same fix. Would be nice to have this fixed and not wake up some day to all my services being down again.

@landure
Copy link

landure commented Nov 25, 2024

I confirm the issue.

@cedricdekimpe
Copy link

Having the same issue.

@akuznecov fix worked for me. Thanks.

@battletux
Copy link

HAving the same issue and this work around solved it for me. Thank you.

@jamespoore
Copy link

Had to re-apply the fix this morning after the upgrade to v2.12.2

@jc21 any chance of a fix here?

@CoolJoe72
Copy link

Considering certificates are only 90 days there are going to be a lot more failures in the future.
With any luck next time I'll have it more ingrained in my memory and not have to spend an hour searching for the answer again.
Hope this gets fixed soon

@mathieu-clement
Copy link

So it appears that the certbot-plugin-gandi imports the "six" plugin even though it doesn't use it.

This pull request addresses this: obynio/certbot-plugin-gandi#50

Hopefully will be merged soon and nginx-proxy-manager can use it

@amateescu amateescu linked a pull request Mar 13, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants