[GH-ISSUE #4097] Missing Python package during add/renew certs via Gandi DNS provider #2664

Closed
opened 2026-02-26 07:36:23 +03:00 by kerem · 12 comments
Owner

Originally created by @akuznecov on GitHub (Oct 21, 2024).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/4097

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
Originally created by @akuznecov on GitHub (Oct 21, 2024). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/4097 <!-- Are you in the right place? - If you are looking for support on how to get your upstream server forwarding, please consider asking the community on Reddit. - If you are writing code changes to contribute and need to ask about the internals of the software, Gitter is the best place to ask. - If you think you found a bug with NPM (not Nginx, or your upstream server or MySql) then you are in the *right place.* --> **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** <!-- A clear and concise description of what the bug is. --> 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** <!-- If applicable, add screenshots to help explain your problem. --> ![npm_001](https://github.com/user-attachments/assets/b5aafc4a-273e-4ae2-bb5b-64803b382f5e) **Operating System** Host: Debian 12 **Additional context** <!-- Add any other context about the problem here, docker version, browser version, logs if applicable to the problem. Too much info is better than too little. --> 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 ```
kerem 2026-02-26 07:36:23 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@EnzoKilm commented on GitHub (Oct 28, 2024):

I'm also having the exact same issue.

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

<!-- gh-comment-id:2441244193 --> @EnzoKilm commented on GitHub (Oct 28, 2024): I'm also having the exact same issue. @akuznecov thanks for your temporary fix, it worked for me.
Author
Owner

@jamespoore commented on GitHub (Nov 3, 2024):

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

<!-- gh-comment-id:2453344940 --> @jamespoore commented on GitHub (Nov 3, 2024): Also adding my +1 here, I too have the same issue described here.
Author
Owner

@yroyathon commented on GitHub (Nov 11, 2024):

+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.

<!-- gh-comment-id:2468607423 --> @yroyathon commented on GitHub (Nov 11, 2024): +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.
Author
Owner

@landure commented on GitHub (Nov 25, 2024):

I confirm the issue.

<!-- gh-comment-id:2497508274 --> @landure commented on GitHub (Nov 25, 2024): I confirm the issue.
Author
Owner

@cedricdekimpe commented on GitHub (Dec 12, 2024):

Having the same issue.

@akuznecov fix worked for me. Thanks.

<!-- gh-comment-id:2538063377 --> @cedricdekimpe commented on GitHub (Dec 12, 2024): Having the same issue. @akuznecov fix worked for me. Thanks.
Author
Owner

@battletux commented on GitHub (Dec 18, 2024):

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

<!-- gh-comment-id:2551188527 --> @battletux commented on GitHub (Dec 18, 2024): HAving the same issue and this work around solved it for me. Thank you.
Author
Owner

@jamespoore commented on GitHub (Jan 12, 2025):

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

@jc21 any chance of a fix here?

<!-- gh-comment-id:2585764047 --> @jamespoore commented on GitHub (Jan 12, 2025): Had to re-apply the fix this morning after the upgrade to v2.12.2 @jc21 any chance of a fix here?
Author
Owner

@CoolJoe72 commented on GitHub (Jan 14, 2025):

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

<!-- gh-comment-id:2591020171 --> @CoolJoe72 commented on GitHub (Jan 14, 2025): 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
Author
Owner

@mathieu-clement commented on GitHub (Jan 16, 2025):

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

This pull request addresses this: https://github.com/obynio/certbot-plugin-gandi/pull/50

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

<!-- gh-comment-id:2594991941 --> @mathieu-clement commented on GitHub (Jan 16, 2025): So it appears that the certbot-plugin-gandi imports the "six" plugin even though it doesn't use it. This pull request addresses this: https://github.com/obynio/certbot-plugin-gandi/pull/50 Hopefully will be merged soon and nginx-proxy-manager can use it
Author
Owner

@cpainchaud commented on GitHub (May 6, 2025):

I ran into the issue today, please fix it!

thank you for all your hard work

<!-- gh-comment-id:2853656942 --> @cpainchaud commented on GitHub (May 6, 2025): I ran into the issue today, please fix it! thank you for all your hard work
Author
Owner

@yroyathon commented on GitHub (May 10, 2025):

Is there any way that this NPM repo can use this fork of certbot gandi dns provider? https://github.com/Kriechi/certbot-plugin-gandi-modern ? It does not contain the problem that is causing this issue, and it's more actively maintained than the dead repo that's causing this issue.

<!-- gh-comment-id:2869025688 --> @yroyathon commented on GitHub (May 10, 2025): Is there any way that this NPM repo can use this fork of certbot gandi dns provider? https://github.com/Kriechi/certbot-plugin-gandi-modern ? It does not contain the problem that is causing this issue, and it's more actively maintained than the dead repo that's causing this issue.
Author
Owner

@yroyathon commented on GitHub (Aug 7, 2025):

Hooray! Thanks so much for fixing this issue.

<!-- gh-comment-id:3164507884 --> @yroyathon commented on GitHub (Aug 7, 2025): Hooray! Thanks so much for fixing this issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#2664
No description provided.