Error generating Let's Encrypt certificate - Self-Hosted #2102

Closed
opened 2025-11-20 07:03:54 -05:00 by saavagebueno · 6 comments
Owner

Originally created by @DanMarqz on GitHub (Jul 22, 2025).

Describe the problem

Error generating Let's Encrypt certificate

Hello, with the v0.51.2 update, I encountered errors starting Netbird while creating the Let's Encrypt certificate. The error is more detailed in the dashboard container. However, due to this error, the management container cannot run and keeps restarting.

To Reproduce

Steps to reproduce the behavior:
All configuration steps with Keycloak: https://docs.netbird.io/selfhosted/selfhosted-guide
When you are at "Step 6: Run Docker Compose" execute : docker compose up

Expected behavior

The signal, management, coturn, and dashboard containers are expected to be running. However, the management container cannot run.

Are you using NetBird Cloud?

No, self-hosted version

NetBird version

netbird version 0.51.2

Is any other VPN software installed?

No

Debug output

These are the error logs for the dashboard and management containers.

management-1  | 2025-07-21T19:54:46Z ERRO [context: SYSTEM] management/cmd/management.go:264: cannot load TLS credentials: open /etc/letsencrypt/live/mydomain.com/fullchain.pem: no such file or directory
management-1  | Error: open /etc/letsencrypt/live/mydomain.com/fullchain.pem: no such file or directory

dashboard-1  | + LETSENCRYPT_DOMAIN=mydomain.com
dashboard-1  | + LETSENCRYPT_EMAIL=mail@mydomain.com
dashboard-1  | + NGINX_SSL_PORT=443
dashboard-1  | + '[' mydomain.com-x == none-x ']'
dashboard-1  | + certbot -n --nginx --agree-tos --email mail@mydomain.com -d mydomain.com --https-port 443
dashboard-1  | NetBird latest version: 
dashboard-1  | Saving debug log to /var/log/letsencrypt/letsencrypt.log
dashboard-1  | Requesting a certificate for mydomain.com
dashboard-1  | NetBird latest version: 
dashboard-1  | 51.159.104.219 - - [21/Jul/2025:22:05:20 +0000] "GET / HTTP/1.0" 200 8126 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.1311.103 Safari/537.36" "-"
dashboard-1  | An unexpected error occurred:
dashboard-1  | acme.errors.ClientError: <Response [405]>
dashboard-1  | Ask for help or search for solutions at https://community.letsencrypt.org/. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
dashboard-1  | 51.159.106.48 - - [21/Jul/2025:22:07:56 +0000] "GET / HTTP/1.1" 200 8126 "-" "-" "-"

Additional context

Apparently it is an error in the new version v0.51.2, since I tried to do it again with version v0.51.1 and this error does not occur, everything went up without problems.

Have you tried these troubleshooting steps?

  • Reviewed client troubleshooting (if applicable)
  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @DanMarqz on GitHub (Jul 22, 2025). **Describe the problem** Error generating Let's Encrypt certificate Hello, with the v0.51.2 update, I encountered errors starting Netbird while creating the Let's Encrypt certificate. The error is more detailed in the dashboard container. However, due to this error, the management container cannot run and keeps restarting. **To Reproduce** Steps to reproduce the behavior: All configuration steps with Keycloak: https://docs.netbird.io/selfhosted/selfhosted-guide When you are at "Step 6: Run Docker Compose" execute : `docker compose up` **Expected behavior** The signal, management, coturn, and dashboard containers are expected to be running. However, the management container cannot run. **Are you using NetBird Cloud?** No, self-hosted version **NetBird version** `netbird version` 0.51.2 **Is any other VPN software installed?** No **Debug output** These are the error logs for the dashboard and management containers. ``` management-1 | 2025-07-21T19:54:46Z ERRO [context: SYSTEM] management/cmd/management.go:264: cannot load TLS credentials: open /etc/letsencrypt/live/mydomain.com/fullchain.pem: no such file or directory management-1 | Error: open /etc/letsencrypt/live/mydomain.com/fullchain.pem: no such file or directory dashboard-1 | + LETSENCRYPT_DOMAIN=mydomain.com dashboard-1 | + LETSENCRYPT_EMAIL=mail@mydomain.com dashboard-1 | + NGINX_SSL_PORT=443 dashboard-1 | + '[' mydomain.com-x == none-x ']' dashboard-1 | + certbot -n --nginx --agree-tos --email mail@mydomain.com -d mydomain.com --https-port 443 dashboard-1 | NetBird latest version: dashboard-1 | Saving debug log to /var/log/letsencrypt/letsencrypt.log dashboard-1 | Requesting a certificate for mydomain.com dashboard-1 | NetBird latest version: dashboard-1 | 51.159.104.219 - - [21/Jul/2025:22:05:20 +0000] "GET / HTTP/1.0" 200 8126 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.1311.103 Safari/537.36" "-" dashboard-1 | An unexpected error occurred: dashboard-1 | acme.errors.ClientError: <Response [405]> dashboard-1 | Ask for help or search for solutions at https://community.letsencrypt.org/. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details. dashboard-1 | 51.159.106.48 - - [21/Jul/2025:22:07:56 +0000] "GET / HTTP/1.1" 200 8126 "-" "-" "-" ``` **Additional context** Apparently it is an error in the new version v0.51.2, since I tried to do it again with version v0.51.1 and this error does not occur, everything went up without problems. **Have you tried these troubleshooting steps?** - [x] Reviewed [client troubleshooting](https://docs.netbird.io/how-to/troubleshooting-client) (if applicable) - [x] Checked for newer NetBird versions - [x] Searched for similar issues on GitHub (including closed ones) - [x] Restarted the NetBird client - [ ] Disabled other VPN software - [x] Checked firewall settings
saavagebueno added the triage-needed label 2025-11-20 07:03:54 -05:00
Author
Owner

@nazarewk commented on GitHub (Jul 22, 2025):

Just a wild guess, but could be caused by https://letsencrypt.org/2025/01/22/ending-expiration-emails/ ?

Since the certbot command invocation looks valid I would suggest to:

  1. check the logfile for errors Ask for help or search for solutions at https://community.letsencrypt.org/. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
  2. file a report at https://community.letsencrypt.org/ or https://github.com/certbot/certbot
    • would be great to let us know if you determine anything

PS: I assume the domain.com to be a redacted value, not the one you are actually using?

@nazarewk commented on GitHub (Jul 22, 2025): Just a wild guess, but could be caused by https://letsencrypt.org/2025/01/22/ending-expiration-emails/ ? Since the `certbot` command invocation looks valid I would suggest to: 1. check the logfile for errors `Ask for help or search for solutions at https://community.letsencrypt.org/. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.` 2. file a report at https://community.letsencrypt.org/ or https://github.com/certbot/certbot - would be great to let us know if you determine anything PS: I assume the `domain.com` to be a redacted value, not the one you are actually using?
Author
Owner

@DanMarqz commented on GitHub (Jul 22, 2025):

Hi, the issue isn't expiring; it's a new domain from a few days ago.

I think it could be an issue with the dashboard container with version v0.51.2, since following the same self-hosted steps with v0.51.1 worked correctly and generated the certificate with Let's Encrypt.

I don't know if they made some change or something went unnoticed, or if it's an incompatibility with a new version of Golang, or something, because the response is 405 Method Not Allowed:

dashboard-1 | 51.159.104.219 - - [21/Jul/2025:22:05:20 +0000] "GET / HTTP/1.0" 200 8126 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.1311.103 Safari/537.36" "-"
dashboard-1 | An unexpected error occurred:
dashboard-1 | acme.errors.ClientError: <Response[405]>

This is something that does not happen in v0.51.1.

PS: Yes, correct, mydomain.com is a redacted value.

@DanMarqz commented on GitHub (Jul 22, 2025): Hi, the issue isn't expiring; it's a new domain from a few days ago. I think it could be an issue with the dashboard container with version v0.51.2, since following the same self-hosted steps with v0.51.1 worked correctly and generated the certificate with Let's Encrypt. I don't know if they made some change or something went unnoticed, or if it's an incompatibility with a new version of Golang, or something, because the response is 405 Method Not Allowed: ``` dashboard-1 | 51.159.104.219 - - [21/Jul/2025:22:05:20 +0000] "GET / HTTP/1.0" 200 8126 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.1311.103 Safari/537.36" "-" dashboard-1 | An unexpected error occurred: dashboard-1 | acme.errors.ClientError: <Response[405]> ``` This is something that does not happen in v0.51.1. PS: Yes, correct, mydomain.com is a redacted value.
Author
Owner

@nazarewk commented on GitHub (Jul 22, 2025):

I think it could be an issue with the dashboard container with version v0.51.2, since following the same self-hosted steps with v0.51.1 worked correctly and generated the certificate with Let's Encrypt.

This is very weird considering the file was not touched almost since writing it in 2021 https://github.com/netbirdio/dashboard/commits/main/docker/init_cert.sh

Did you check what was inside the /var/log/letsencrypt/letsencrypt.log?

@nazarewk commented on GitHub (Jul 22, 2025): > I think it could be an issue with the dashboard container with version v0.51.2, since following the same self-hosted steps with v0.51.1 worked correctly and generated the certificate with Let's Encrypt. This is very weird considering the file was not touched almost since writing it in 2021 https://github.com/netbirdio/dashboard/commits/main/docker/init_cert.sh Did you check what was inside the `/var/log/letsencrypt/letsencrypt.log`?
Author
Owner

@hvolpers commented on GitHub (Oct 15, 2025):

Hi,

I set up netbird today following the advanced setup guide and am running into the same issue. If I understand the setup correctly, the dashboard container should take care of the cert creation and the management container mounts the same volume and uses the cert, too.
However, it looks like the cert cannot be created:

------ letsencrypt.log ------

bash-5.1# cat /var/log/letsencrypt/letsencrypt.log
2025-10-15 14:38:45,404:DEBUG:certbot._internal.main:certbot version: 1.16.0
2025-10-15 14:38:45,404:DEBUG:certbot._internal.main:Location of certbot entry point: /usr/bin/certbot
2025-10-15 14:38:45,404:DEBUG:certbot._internal.main:Arguments: ['-n', '--nginx', '--agree-tos', '--email', '', '-d', '', '--https-port', '443']
2025-10-15 14:38:45,405:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2025-10-15 14:38:45,420:DEBUG:certbot._internal.log:Root logging level set at 30
2025-10-15 14:38:45,421:DEBUG:certbot._internal.plugins.selection:Requested authenticator nginx and installer nginx
2025-10-15 14:38:45,582:DEBUG:certbot._internal.plugins.selection:Single candidate plugin: * nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx._internal.configurator:NginxConfigurator
Initialized: <certbot_nginx._internal.configurator.NginxConfigurator object at 0x7042e2bb0cd0>
Prep: True
2025-10-15 14:38:45,583:DEBUG:certbot._internal.plugins.selection:Selected authenticator <certbot_nginx._internal.configurator.NginxConfigurator object at 0x7042e2bb0cd0> and installer <certbot_nginx._internal.configurator.NginxConfigurator object at 0x7042e2bb0cd0>
2025-10-15 14:38:45,583:INFO:certbot._internal.plugins.selection:Plugins selected: Authenticator nginx, Installer nginx
2025-10-15 14:38:45,664:DEBUG:acme.client:Sending GET request to https://acme-v02.api.letsencrypt.org/directory.
2025-10-15 14:38:45,667:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org:443
2025-10-15 14:38:50,673:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/urllib3/connection.py", line 169, in _new_conn
conn = connection.create_connection(
File "/usr/lib/python3.9/site-packages/urllib3/util/connection.py", line 73, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "/usr/lib/python3.9/socket.py", line 954, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 382, in _make_request
self._validate_conn(conn)
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
conn.connect()
File "/usr/lib/python3.9/site-packages/urllib3/connection.py", line 353, in connect
conn = self._new_conn()
File "/usr/lib/python3.9/site-packages/urllib3/connection.py", line 181, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "/usr/lib/python3.9/site-packages/urllib3/util/retry.py", line 574, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/certbot", line 33, in
sys.exit(load_entry_point('certbot==1.16.0', 'console_scripts', 'certbot')())
File "/usr/lib/python3.9/site-packages/certbot/main.py", line 15, in main
return internal_main.main(cli_args)
File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 1552, in main
return config.func(config, plugins)
File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 1261, in run
le_client = _init_le_client(config, authenticator, installer)
File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 742, in _init_le_client
acc, acme = _determine_account(config)
File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 657, in _determine_account
acc, acme = client.register(
File "/usr/lib/python3.9/site-packages/certbot/_internal/client.py", line 171, in register
acme = acme_from_config_key(config, key)
File "/usr/lib/python3.9/site-packages/certbot/_internal/client.py", line 41, in acme_from_config_key
return acme_client.BackwardsCompatibleClientV2(net, key, config.server)
File "/usr/lib/python3.9/site-packages/acme/client.py", line 821, in init
directory = messages.Directory.from_json(net.get(server).json())
File "/usr/lib/python3.9/site-packages/acme/client.py", line 1165, in get
self._send_request('GET', url, **kwargs), content_type=content_type)
File "/usr/lib/python3.9/site-packages/acme/client.py", line 1114, in _send_request
response = self.session.request(method, url, *args, **kwargs)
File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again'))
2025-10-15 14:38:50,676:ERROR:certbot._internal.log:An unexpected error occurred:
2025-10-15 14:38:50,677:ERROR:certbot._internal.log:requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again'))

------ connection test ------

I have no idea why certbot cannot establish the connection:

bash# docker compose exec -ti dashboard curl https://acme-v02.api.letsencrypt.org/directory
{
"Y5Y6UP-MJ9E": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417",
"keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change",
"meta": {
"caaIdentities": [
"letsencrypt.org"
],
"profiles": {
"classic": "https://letsencrypt.org/docs/profiles#classic",
"shortlived": "https://letsencrypt.org/docs/profiles#shortlived (not yet generally available)",
"tlsclient": "https://letsencrypt.org/docs/profiles#tlsclient",
"tlsserver": "https://letsencrypt.org/docs/profiles#tlsserver"
},
"termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf",
"website": "https://letsencrypt.org"
},
"newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct",
"newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce",
"newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order",
"renewalInfo": "https://acme-v02.api.letsencrypt.org/acme/renewal-info",
"revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert"
}

I am able to connect to letsencrypt, there are no firewalls in between and iptables etc. is set to accept.

Hope you see what I am missing.

Regards,
Hagen

@hvolpers commented on GitHub (Oct 15, 2025): Hi, I set up netbird today following the advanced setup guide and am running into the same issue. If I understand the setup correctly, the dashboard container should take care of the cert creation and the management container mounts the same volume and uses the cert, too. However, it looks like the cert cannot be created: ------ letsencrypt.log ------ bash-5.1# cat /var/log/letsencrypt/letsencrypt.log 2025-10-15 14:38:45,404:DEBUG:certbot._internal.main:certbot version: 1.16.0 2025-10-15 14:38:45,404:DEBUG:certbot._internal.main:Location of certbot entry point: /usr/bin/certbot 2025-10-15 14:38:45,404:DEBUG:certbot._internal.main:Arguments: ['-n', '--nginx', '--agree-tos', '--email', '<valid-e-mail>', '-d', '<valid-fqdn-pointing-at-public-host-ip>', '--https-port', '443'] 2025-10-15 14:38:45,405:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot) 2025-10-15 14:38:45,420:DEBUG:certbot._internal.log:Root logging level set at 30 2025-10-15 14:38:45,421:DEBUG:certbot._internal.plugins.selection:Requested authenticator nginx and installer nginx 2025-10-15 14:38:45,582:DEBUG:certbot._internal.plugins.selection:Single candidate plugin: * nginx Description: Nginx Web Server plugin Interfaces: IAuthenticator, IInstaller, IPlugin Entry point: nginx = certbot_nginx._internal.configurator:NginxConfigurator Initialized: <certbot_nginx._internal.configurator.NginxConfigurator object at 0x7042e2bb0cd0> Prep: True 2025-10-15 14:38:45,583:DEBUG:certbot._internal.plugins.selection:Selected authenticator <certbot_nginx._internal.configurator.NginxConfigurator object at 0x7042e2bb0cd0> and installer <certbot_nginx._internal.configurator.NginxConfigurator object at 0x7042e2bb0cd0> 2025-10-15 14:38:45,583:INFO:certbot._internal.plugins.selection:Plugins selected: Authenticator nginx, Installer nginx 2025-10-15 14:38:45,664:DEBUG:acme.client:Sending GET request to https://acme-v02.api.letsencrypt.org/directory. 2025-10-15 14:38:45,667:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org:443 2025-10-15 14:38:50,673:DEBUG:certbot._internal.log:Exiting abnormally: Traceback (most recent call last): File "/usr/lib/python3.9/site-packages/urllib3/connection.py", line 169, in _new_conn conn = connection.create_connection( File "/usr/lib/python3.9/site-packages/urllib3/util/connection.py", line 73, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): File "/usr/lib/python3.9/socket.py", line 954, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -3] Try again During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen httplib_response = self._make_request( File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 382, in _make_request self._validate_conn(conn) File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn conn.connect() File "/usr/lib/python3.9/site-packages/urllib3/connection.py", line 353, in connect conn = self._new_conn() File "/usr/lib/python3.9/site-packages/urllib3/connection.py", line 181, in _new_conn raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 439, in send resp = conn.urlopen( File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 755, in urlopen retries = retries.increment( File "/usr/lib/python3.9/site-packages/urllib3/util/retry.py", line 574, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again')) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/certbot", line 33, in <module> sys.exit(load_entry_point('certbot==1.16.0', 'console_scripts', 'certbot')()) File "/usr/lib/python3.9/site-packages/certbot/main.py", line 15, in main return internal_main.main(cli_args) File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 1552, in main return config.func(config, plugins) File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 1261, in run le_client = _init_le_client(config, authenticator, installer) File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 742, in _init_le_client acc, acme = _determine_account(config) File "/usr/lib/python3.9/site-packages/certbot/_internal/main.py", line 657, in _determine_account acc, acme = client.register( File "/usr/lib/python3.9/site-packages/certbot/_internal/client.py", line 171, in register acme = acme_from_config_key(config, key) File "/usr/lib/python3.9/site-packages/certbot/_internal/client.py", line 41, in acme_from_config_key return acme_client.BackwardsCompatibleClientV2(net, key, config.server) File "/usr/lib/python3.9/site-packages/acme/client.py", line 821, in __init__ directory = messages.Directory.from_json(net.get(server).json()) File "/usr/lib/python3.9/site-packages/acme/client.py", line 1165, in get self._send_request('GET', url, **kwargs), content_type=content_type) File "/usr/lib/python3.9/site-packages/acme/client.py", line 1114, in _send_request response = self.session.request(method, url, *args, **kwargs) File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 542, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 655, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 516, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again')) 2025-10-15 14:38:50,676:ERROR:certbot._internal.log:An unexpected error occurred: 2025-10-15 14:38:50,677:ERROR:certbot._internal.log:requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7042e2bb5d60>: Failed to establish a new connection: [Errno -3] Try again')) ------ connection test ------ I have no idea why certbot cannot establish the connection: bash# docker compose exec -ti dashboard curl https://acme-v02.api.letsencrypt.org/directory { "Y5Y6UP-MJ9E": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417", "keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change", "meta": { "caaIdentities": [ "letsencrypt.org" ], "profiles": { "classic": "https://letsencrypt.org/docs/profiles#classic", "shortlived": "https://letsencrypt.org/docs/profiles#shortlived (not yet generally available)", "tlsclient": "https://letsencrypt.org/docs/profiles#tlsclient", "tlsserver": "https://letsencrypt.org/docs/profiles#tlsserver" }, "termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf", "website": "https://letsencrypt.org" }, "newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct", "newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce", "newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order", "renewalInfo": "https://acme-v02.api.letsencrypt.org/acme/renewal-info", "revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert" } I am able to connect to letsencrypt, there are no firewalls in between and iptables etc. is set to accept. Hope you see what I am missing. Regards, Hagen
Author
Owner

@hvolpers commented on GitHub (Oct 15, 2025):

ehm... ok... Looks like the setup runs into a timing issue?! Not sure, but docker compose stop, docker compose start fixed it for me... Good old "did you turn it off and on again".

@DanMarqz does/did a restart fix it for you, too?

@hvolpers commented on GitHub (Oct 15, 2025): ehm... ok... Looks like the setup runs into a timing issue?! Not sure, but docker compose stop, docker compose start fixed it for me... Good old "did you turn it off and on again". @DanMarqz does/did a restart fix it for you, too?
Author
Owner

@DanMarqz commented on GitHub (Oct 15, 2025):

ehm... ok... Looks like the setup runs into a timing issue?! Not sure, but docker compose stop, docker compose start fixed it for me... Good old "did you turn it off and on again".

@DanMarqz does/did a restart fix it for you, too?

I haven't had the problem again. I suspect it could have been a letsencrypt connection issue. I don't have the logs either.

My solution was to update the Netbird version and continue with the installation.

I think the issue can be considered closed. The problem may be due to the intermittent network.

@DanMarqz commented on GitHub (Oct 15, 2025): > ehm... ok... Looks like the setup runs into a timing issue?! Not sure, but docker compose stop, docker compose start fixed it for me... Good old "did you turn it off and on again". > > [@DanMarqz](https://github.com/DanMarqz) does/did a restart fix it for you, too? I haven't had the problem again. I suspect it could have been a letsencrypt connection issue. I don't have the logs either. My solution was to update the Netbird version and continue with the installation. I think the issue can be considered closed. The problem may be due to the intermittent network.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#2102