[GH-ISSUE #3245] Cannot import 'ClientBase' from 'acme.client' when trying to renew cert(s) #2193

Closed
opened 2026-02-26 07:34:26 +03:00 by kerem · 10 comments
Owner

Originally created by @phillipmcmahon on GitHub (Oct 7, 2023).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/3245

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
When trying to renew existing certs after updating to 2.10.4 get an internal error. Logs show the following

[10/7/2023] [10:53:22 AM] [SSL ] › ℹ info Renewing Let'sEncrypt certificates via ClouDNS for Cert #17: *.phillipmcmahon.com, phillipmcmahon.com
[10/7/2023] [10:53:22 AM] [SSL ] › ℹ info Command: certbot renew --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-17" --disable-hook-validation --no-random-sleep-on-renew
[10/7/2023] [10:53:22 AM] [Express ] › ⚠ warning Command failed: certbot renew --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-17" --disable-hook-validation --no-random-sleep-on-renew
Traceback (most recent call last):
File "/usr/bin/certbot", line 5, in
from certbot.main import main
File "/opt/certbot/lib/python3.7/site-packages/certbot/main.py", line 6, in
from certbot._internal import main as internal_main
File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/main.py", line 28, in
from certbot import crypto_util
File "/opt/certbot/lib/python3.7/site-packages/certbot/crypto_util.py", line 42, in
from certbot import interfaces
File "/opt/certbot/lib/python3.7/site-packages/certbot/interfaces.py", line 21, in
from acme.client import ClientBase
ImportError: cannot import name 'ClientBase' from 'acme.client' (/opt/certbot/lib/python3.7/site-packages/acme/client.py)

Nginx Proxy Manager Version
2.10.4

To Reproduce
Steps to reproduce the behavior:

  1. Go to SSL Certificates
  2. Click on 'Renew Now' for the certificate in question
  3. 'Internal Error' in UI

Expected behavior
Certificate renews as expected

Screenshots

image

Operating System
via Docker

Additional context
N/A

Originally created by @phillipmcmahon on GitHub (Oct 7, 2023). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/3245 **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** When trying to renew existing certs after updating to 2.10.4 get an internal error. Logs show the following [10/7/2023] [10:53:22 AM] [SSL ] › ℹ info Renewing Let'sEncrypt certificates via ClouDNS for Cert #17: *.phillipmcmahon.com, phillipmcmahon.com [10/7/2023] [10:53:22 AM] [SSL ] › ℹ info Command: certbot renew --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-17" --disable-hook-validation --no-random-sleep-on-renew [10/7/2023] [10:53:22 AM] [Express ] › ⚠ warning Command failed: certbot renew --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-17" --disable-hook-validation --no-random-sleep-on-renew Traceback (most recent call last): File "/usr/bin/certbot", line 5, in <module> from certbot.main import main File "/opt/certbot/lib/python3.7/site-packages/certbot/main.py", line 6, in <module> from certbot._internal import main as internal_main File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/main.py", line 28, in <module> from certbot import crypto_util File "/opt/certbot/lib/python3.7/site-packages/certbot/crypto_util.py", line 42, in <module> from certbot import interfaces File "/opt/certbot/lib/python3.7/site-packages/certbot/interfaces.py", line 21, in <module> from acme.client import ClientBase ImportError: cannot import name 'ClientBase' from 'acme.client' (/opt/certbot/lib/python3.7/site-packages/acme/client.py) **Nginx Proxy Manager Version** 2.10.4 **To Reproduce** Steps to reproduce the behavior: 1. Go to SSL Certificates 2. Click on 'Renew Now' for the certificate in question 3. 'Internal Error' in UI **Expected behavior** Certificate renews as expected **Screenshots** <img width="1217" alt="image" src="https://github.com/NginxProxyManager/nginx-proxy-manager/assets/1891527/00db8db4-ac69-4dc2-95b5-f76f0142584e"> **Operating System** via Docker **Additional context** N/A
kerem 2026-02-26 07:34:26 +03:00
  • closed this issue
  • added the
    stale
    bug
    labels
Author
Owner

@decole commented on GitHub (Oct 9, 2023):

I have this bug too.

<!-- gh-comment-id:1752580912 --> @decole commented on GitHub (Oct 9, 2023): I have this bug too.
Author
Owner

@NetRat88 commented on GitHub (Oct 24, 2023):

Also same bug for me. Found out on reddit a possible workaroung. Replace acme==1.32.0 seems to make it work on Godaddy DNS but don'nt know exactly where and how and how I can made this change persistant?! Any idea?

<!-- gh-comment-id:1776820921 --> @NetRat88 commented on GitHub (Oct 24, 2023): Also same bug for me. Found out on reddit a possible workaroung. Replace acme==1.32.0 seems to make it work on Godaddy DNS but don'nt know exactly where and how and how I can made this change persistant?! Any idea?
Author
Owner

@ghost commented on GitHub (Oct 26, 2023):

I also have this issue. I'm also using ClouDNS with NginxProxyManager in a docker container on my unraid

<!-- gh-comment-id:1781113966 --> @ghost commented on GitHub (Oct 26, 2023): I also have this issue. I'm also using ClouDNS with NginxProxyManager in a docker container on my unraid
Author
Owner

@mfslena commented on GitHub (Oct 30, 2023):

Anyone found a solution? I'm having the same problem.

<!-- gh-comment-id:1785532921 --> @mfslena commented on GitHub (Oct 30, 2023): Anyone found a solution? I'm having the same problem.
Author
Owner

@Syirrus commented on GitHub (Nov 13, 2023):

I have this same error. Is there a solution for the issue?

<!-- gh-comment-id:1808181189 --> @Syirrus commented on GitHub (Nov 13, 2023): I have this same error. Is there a solution for the issue?
Author
Owner

@ismxilxrif commented on GitHub (Dec 9, 2023):

for those using the direct setup, not docker, this might work

i don't know what's the issue, i created a new virtual environment inside my home directory (non-root), and link /usr/bin/certbot to that new venv, and the problem's solved, note bcs of wildcard issue, i used certbot-dns-godaddy==2.6.0

it's just my 2 cents, but it might help some folks out there, good luck!

this works for godaddy, so it might work or break other dns plugins, so be careful from here, haven't tested other plugins but it should work, plugins that are directly supported by certbot eg. cloudflare, shouldn't be an isssue, it's just that 3rd party plugins are having these problems i assume

here we go.

as non root, execute:

python -m venv <new-env-name>

cd <some-name>/bin

./pip install certbot-dns-godaddy==2.6.0

sudo ln -sf /home/<your-home-directory>/<new-env-name>/bin/certbot /usr/bin/certbot

then re run the cert process again

<!-- gh-comment-id:1848326184 --> @ismxilxrif commented on GitHub (Dec 9, 2023): for those using the direct setup, not docker, this might work i don't know what's the issue, i created a new virtual environment inside my home directory (non-root), and link /usr/bin/certbot to that new venv, and the problem's solved, note bcs of wildcard issue, i used certbot-dns-godaddy==2.6.0 it's just my 2 cents, but it might help some folks out there, good luck! this works for godaddy, so it might work or break other dns plugins, so be careful from here, haven't tested other plugins but it should work, plugins that are directly supported by certbot eg. cloudflare, shouldn't be an isssue, it's just that 3rd party plugins are having these problems i assume here we go. as non root, execute: ``` python -m venv <new-env-name> cd <some-name>/bin ./pip install certbot-dns-godaddy==2.6.0 sudo ln -sf /home/<your-home-directory>/<new-env-name>/bin/certbot /usr/bin/certbot ``` then re run the cert process again
Author
Owner

@SNR-Tech-Bytes commented on GitHub (Dec 16, 2023):

for those of you in docker I seem to have fixed this using some information I found on reddit
Note I'm using godaddy DNS challenge

run the following

docker compose ps

which will will spit out your list of dockers, whatever your nginx proxy manager is named put that in the following command

docker exec [your_docker_name_no_Braces] /bin/sh -c "/opt/certbot/bin/pip install acme==1.32.0"

<!-- gh-comment-id:1858748383 --> @SNR-Tech-Bytes commented on GitHub (Dec 16, 2023): for those of you in docker I seem to have fixed this using some information I found on [reddit](https://www.reddit.com/r/nginxproxymanager/comments/166fbka/certbot_renew_internal_error/) Note I'm using godaddy DNS challenge run the following `docker compose ps` which will will spit out your list of dockers, whatever your nginx proxy manager is named put that in the following command `docker exec [your_docker_name_no_Braces] /bin/sh -c "/opt/certbot/bin/pip install acme==1.32.0"`
Author
Owner

@Ragziesoft commented on GitHub (Dec 21, 2023):

for those of you in docker I seem to have fixed this using some information I found on reddit Note I'm using godaddy DNS challenge

run the following

docker compose ps

which will will spit out your list of dockers, whatever your nginx proxy manager is named put that in the following command

docker exec [your_docker_name_no_Braces] /bin/sh -c "/opt/certbot/bin/pip install acme==1.32.0"

I have a Godaddy registered domain. I am hosting a webpage of this domain on my home Raspberry pi using nginx proxy manager. While getting ssl with letsencrypt i get an "internal error". For the same setup when i tried with duckdns.org i successfully got the ssl certificates.
So to resolve this i tried the above mentioned solution.
First i got an error
I get this message "/bin/sh: /opt/certbot/bin/pip: not found".
Then i checked pip, i get message python3-pip is installed and is latest version.
Then i retry this command
docker exec 3d7e9aa4aaaa pip install acme==1.32.0 . the command is executed successfully. (nginx container id)
Then i try to reinstall ssl from letsencrypt for godaddy registered domain.

but i am still getting internal error even though the acme was changed to 1.32.0

<!-- gh-comment-id:1866040217 --> @Ragziesoft commented on GitHub (Dec 21, 2023): > for those of you in docker I seem to have fixed this using some information I found on [reddit](https://www.reddit.com/r/nginxproxymanager/comments/166fbka/certbot_renew_internal_error/) Note I'm using godaddy DNS challenge > > run the following > > `docker compose ps` > > which will will spit out your list of dockers, whatever your nginx proxy manager is named put that in the following command > > `docker exec [your_docker_name_no_Braces] /bin/sh -c "/opt/certbot/bin/pip install acme==1.32.0"` I have a Godaddy registered domain. I am hosting a webpage of this domain on my home Raspberry pi using nginx proxy manager. While getting ssl with letsencrypt i get an "internal error". For the same setup when i tried with duckdns.org i successfully got the ssl certificates. So to resolve this i tried the above mentioned solution. First i got an error I get this message "/bin/sh: /opt/certbot/bin/pip: not found". Then i checked pip, i get message python3-pip is installed and is latest version. Then i retry this command docker exec 3d7e9aa4aaaa pip install acme==1.32.0 . the command is executed successfully. (nginx container id) Then i try to reinstall ssl from letsencrypt for godaddy registered domain. but i am still getting internal error even though the acme was changed to 1.32.0
Author
Owner

@github-actions[bot] commented on GitHub (Jul 19, 2024):

Issue is now considered stale. If you want to keep it open, please comment 👍

<!-- gh-comment-id:2237885587 --> @github-actions[bot] commented on GitHub (Jul 19, 2024): Issue is now considered stale. If you want to keep it open, please comment :+1:
Author
Owner

@github-actions[bot] commented on GitHub (Aug 9, 2025):

Issue was closed due to inactivity.

<!-- gh-comment-id:3169661121 --> @github-actions[bot] commented on GitHub (Aug 9, 2025): Issue was closed due to inactivity.
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#2193
No description provided.