Open naoki66 opened 2 years ago
This Works as Temporary Workaround for me.
Open the Container Shell docker exec -it nginxproxymanager_app_1 /bin/bash
apt update apt dist-upgrade apt install python3 python3-venv libaugeas0 python3 -m venv /opt/certbot/ /opt/certbot/bin/pip install --upgrade pip /opt/certbot/bin/pip install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-15" --agree-tos --email "MAIL" --domains "*.AAA.com" --authenticator dns-aliyun --dns-aliyun-credentials "/etc/letsencrypt/credentials/credentials-15" An unexpected error occurred: AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator' Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-7ncs4i4z/log or re-run Certbot with -v for more details.
at ChildProcess.exithandler (node:child_process:402:12)
at ChildProcess.emit (node:events:513:28)
at maybeClose (node:internal/child_process:1100:16)
at Socket. (node:internal/child_process:458:11)
at Socket.emit (node:events:513:28)
at Pipe. (node:net:301:12)
[root@docker-nginx-proxy-manager:/app]# cat /tmp/certbot-log-7ncs4i4z/log
2022-11-26 10:32:24,165:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
File "/usr/local/bin/certbot", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.7/dist-packages/certbot/main.py", line 19, in main
return internal_main.main(cli_args)
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/main.py", line 1707, in main
plugins = plugins_disco.PluginsRegistry.find_all()
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/plugins/disco.py", line 208, in find_all
cls._load_entry_point(entry_point, plugins)
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/plugins/disco.py", line 215, in _load_entry_p
oint
plugin_ep = PluginEntryPoint(entry_point)
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/plugins/disco.py", line 56, in init
self.plugin_cls: Type[interfaces.Plugin] = entry_point.load()
File "/usr/local/lib/python3.7/dist-packages/pkg_resources/init.py", line 2450, in load
return self.resolve()
File "/usr/local/lib/python3.7/dist-packages/pkg_resources/init.py", line 2456, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/local/lib/python3.7/dist-packages/certbot_dns_aliyun/dns_aliyun.py", line 20, in
@zope.interface.implementer(interfaces.IAuthenticator)
AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'
2022-11-26 10:32:24,165:ERROR:certbot._internal.log:An unexpected error occurred:
2022-11-26 10:32:24,165:ERROR:certbot._internal.log:AttributeError: module 'certbot.interfaces' has no attribu
te 'IAuthenticator'
Having the same issue
Me too
same issue. would reverting to a previous image help?
This Works as Temporary Workaround for me.
Open the Container Shell docker exec -it nginxproxymanager_app_1 /bin/bash
apt update apt dist-upgrade apt install python3 python3-venv libaugeas0 python3 -m venv /opt/certbot/ /opt/certbot/bin/pip install --upgrade pip /opt/certbot/bin/pip install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0
This worked for me, but had to use command "pip3" instead of "/opt/certbot/bin/pip"
Same issue, with PowerDNS
it seems updating the pip packages solves the issue. time for the devs to create a new image.
This problem is caused by the wrong version of certbot, please go inside the docker container and execute the following command 👇
apt update
apt dist-upgrade
apt install python3 python3-venv libaugeas0
python3 -m venv /opt/certbot/
pip3 install --upgrade pip
pip3 install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0
Please take care to backup your data
Can confirm that https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2430#issuecomment-1329981484 fixed it for me as well
edit: typo
I can confirm that https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2430#issuecomment-1329981484 fixed it. But certain lines are not needed and can be confusing for others, so the updated one:
apt update; apt upgrade -y
apt install -y libaugeas0
pip3 install --upgrade pip
pip3 install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0
# Clean up cache [optional]
apt clean
pip3 cache purge
Note: I had to request the certifate twice from LetsEncrypt. My first trial gave an error (a different one), so you might need to try a few times until you get it.
Thanks @Rynal @skay-zhang
Same issue for me. I had to go back to previous version (2.9.18)
For me, https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2430#issuecomment-1329981484 works. But note, for example, I select Dynu DDNS on the web page, if no version is specified, it will automatically use certbot-dns-dynu==0.0.4 and update certbot==2.0.0, even if certbot==1.32.0 was set before, This is why some people still have no effect even after executing the above script So you need to manually install the previous version:
pip3 install certbot-dns-dynu==0.0.3 (it depends on certbot>=1.32.0)
The same for other plugins(cerbot-dns-xxx), you can go to pypi to check the historical version of certbot-dns-xxx, use "pip3 freeze" to view the current local certbot and plugin versions .
The script below works for me(docker image: jc21/nginx-proxy-manager:2.9.19)
apt update
apt upgrade -y
apt install -y libaugeas0
pip3 install --upgrade pip
pip3 install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0
pip3 install certbot-dns-dynu==0.0.3
came here because of:
✖ error Error: Command failed: certbot renew --non-interactive --quiet --config "/etc/letsencrypt.ini" --preferred-challenges "dns,http" --disable-hook-validation
An unexpected error occurred:
ModuleNotFoundError: No module named 'zope'
at ChildProcess.exithandler (node:child_process:402:12)
at ChildProcess.emit (node:events:513:28)
at maybeClose (node:internal/child_process:1100:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
Temporary fix with previous versions would be
pip3 install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0 certbot-dns-ionos==2022.5.15
This Works as Temporary Workaround for me.
Open the Container Shell docker exec -it nginxproxymanager_app_1 /bin/bash
apt update apt dist-upgrade apt install python3 python3-venv libaugeas0 python3 -m venv /opt/certbot/ /opt/certbot/bin/pip install --upgrade pip /opt/certbot/bin/pip install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0
Thanks for temp fix :)
Thank you! This also seems to fix the issue with "test server reachability" feature on the SSL page, too.
This is it. It's what finally worked for me. DNS provider for GoDaddy was leading to the failure, but only because it bumped the version of certbot above 2
.
I mixed a few approaches from above, but the key for me was pinning all the important certbot packages down to 1.32
while installing the DNS provider package with the following:
apt update && apt upgrade -y && apt install -y libaugeas0
pip3 install --upgrade pip
pip3 install certbot==1.32.0 certbot-nginx==1.32.0 acme==1.32.0 certbot-dns-godaddy
Issue is now considered stale. If you want to keep it open, please comment :+1:
Checklist
jc21/nginx-proxy-manager:latest
docker image?Describe the bug
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-13" --agree-tos --email "AAAA@AAAA.com" --domains "*.AAA.com" --authenticator dns-aliyun --dns-aliyun-credentials "/etc/letsencrypt/credentials/credentials-13" An unexpected error occurred: AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator' Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-i3b4nos8/log or re-run Certbot with -v for more details.
Nginx Proxy Manager Version
v2.9.19
To Reproduce Steps to reproduce the behavior:
dns_aliyun_access_key = KKKKEEEYYY dns_aliyun_access_key_secret = secretsecretsecretsecret
Expected behavior
Screenshots
Operating System
Additional context