[9/11/2024] [1:16:47 AM] [Global ] › ⬤ debug CMD: /usr/sbin/nginx -t -g "error_log off;"
[9/11/2024] [1:16:47 AM] [Nginx ] › info Reloading Nginx
[9/11/2024] [1:16:47 AM] [Global ] › ⬤ debug CMD: /usr/sbin/nginx -s reload
[9/11/2024] [1:16:47 AM] [Express ] › warning Traceback (most recent call last):
File "/opt/certbot/bin/certbot", line 5, in
from certbot.main import main
File "/opt/certbot/lib/python3.11/site-packages/certbot/main.py", line 2, in
from certbot._internal import main as internal_main
File "/opt/certbot/lib/python3.11/site-packages/certbot/_internal/main.py", line 26, in
from certbot._internal import account
File "/opt/certbot/lib/python3.11/site-packages/certbot/_internal/account.py", line 16, in
from acme.client import ClientBase # pylint: disable=unused-import
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: cannot import name 'ClientBase' from 'acme.client' (/opt/certbot/lib/python3.11/site-packages/acme/client.py)
Hello,
I've been playiong around self hosting things for a few months now so I'm still really new to this. I got my domain through NamesCheap which DNS is set to Oracle Cloud. I have Nginx Proxy Manager running on my Oravle Cloud VPS. I have tried setting up my domain with both the provided NamesCHeap and Oracle Cloud DNS plugins however they both retrun the above error.
Welcome @Wikid82 but I am not sure how much help we can be. We find NPM difficult to debug as it often hides the actual error messages. Which is what is happening here. None of those messages mean anything at all.
Plugins provided by who? I don't know what you mean by "plugins". NPM is using a program called Certbot to get a Let's Encrypt cert and Certbot has plugins but not for either of those DNS or cloud systems.
That all said, usually an HTTP Challenge is used to get a cert. And, that requires your domain to reply to HTTP requests from the public internet on port 80. And, that requires you to have an A and/or AAAA record in your DNS that points to the public IP of your server.
You do not have any A or AAAA record. If you are using a DNS Challenge that is very different. But, then you still need an A and/or AAAA record to reach your server from the public internet.
The Let's Debug site is often helpful to debug that. You may need to visit the NPM support forum to learn more about configuring that system. I am just making broad guesses based on common problems. I have to since NPM hides so much error info.
I think the versions of the Python acme library and Certbot client currently installed on your system are not compatible. ClientBase was removed in Certbot/ACME version 2.0.0. So it might be your acme is 2.0.0 or higher, but your Certbot is older than 2.0.0.
That said, I don't know how Certbot/ACME is managed with NPM. As Mike already said, it's mainly a black box and a poorly designed/executed one at best.
You might need to either update Certbot manually (it might be in a Python venv) or make sure NPM updates Certbot.