mesudip/nginx-proxy

Error connecting with the docker server

Closed this issue · 8 comments

nospi commented

On a fresh VPS running Ubuntu 22.04. Fresh install of docker and docker-compose. Following the readme directly, and when running via docker-compose yields the same error:

Creating mesudip-nginx-proxy_mesudip-proxy_1 ... done
Attaching to mesudip-nginx-proxy_mesudip-proxy_1
mesudip-proxy_1  | There was error connecting with the docker server
mesudip-proxy_1  | Have you correctly mounted /var/run/docker.sock?
mesudip-proxy_1  | ("Error while fetching server API version: HTTPConnection.request() got an unexpected keyword argument 'chunked'",)

I vaguely recall running into this in the past and solving it but I'm running into a brick wall atm. Has anyone else experienced this issue?

Any help would be greatly appreciated. Please let me know if I can provide any mroe info. Cheers!

+1 same here.

@nospi I am not a python person, but I mounted the container and upgraded the docker library and ran the startup script. Seems to run fine with the new version of docker.

I saw a note on one of the libraries that said that newer versions of pip are required to pick up the dependencies correctly. Not sure what it is, but seems to be an old version of docker in the image.

Take it for what it is worth, since I don't really know pip or python, just a hacker.

Thanks @nopsi I'll fix it ASAP

It's fixed in 9d0bf9e .

Try pulling the latest version and re-create the container.

@mesudip Thanks for getting on it so quickly.

nospi commented

Thanks @mesudip for sorting that out so quickly! It's launching and running for me now, but I get a new error when it attempts to sign a certificate.

I'll throw the logs here but this could well be an issue on my end, I'll remove this if so, or relocate to a new issue if it's unrelated.

mesidup-nginx-proxy | 2023-11-30 05:31:57,130 - INFO - verifying domain <my.domain.com>
mesidup-nginx-proxy | 2023-11-30 05:31:57,176 - INFO - adding nginx virtual host and completing challenge
mesidup-nginx-proxy | 2023-11-30 05:31:57,177 - INFO - asking acme server to verify challenge
mesidup-nginx-proxy | 2023-11-30 05:31:58,506 - INFO - waiting for <my.domain.com> challenge verification
mesidup-nginx-proxy | 2023-11-30 05:32:04,865 - INFO - <my.domain.com> verified!
mesidup-nginx-proxy | 2023-11-30 05:32:04,865 - INFO - removing /tmp/acme-challenges/e4dJ-n5ZCgkOhWX3IZLD-wpJwsqdTpPPn75v5VaA-R4
mesidup-nginx-proxy | 2023-11-30 05:32:04,866 - INFO - signing certificate
mesidup-nginx-proxy | Unexpected error :ValueError -> Invalid version. The only valid version for X509Req is 0.
mesidup-nginx-proxy | Traceback (most recent call last):
mesidup-nginx-proxy |   File "/app/main.py", line 67, in eventLoop
mesidup-nginx-proxy |     process_network_event(event["Action"], event)
mesidup-nginx-proxy |   File "/app/main.py", line 102, in process_network_event
mesidup-nginx-proxy |     server.connect(network=event["Actor"]["ID"], container=event["Actor"]["Attributes"]["container"],
mesidup-nginx-proxy |   File "/app/nginx_proxy/WebServer.py", line 173, in connect
mesidup-nginx-proxy |     self.update_container(container)
mesidup-nginx-proxy |   File "/app/nginx_proxy/WebServer.py", line 188, in update_container
mesidup-nginx-proxy |     self.reload()
mesidup-nginx-proxy |   File "/app/nginx_proxy/WebServer.py", line 147, in reload
mesidup-nginx-proxy |     self.ssl_processor.process_ssl_certificates(hosts)
mesidup-nginx-proxy |   File "/app/nginx_proxy/post_processors/ssl_certificate_processor.py", line 82, in process_ssl_certificates
mesidup-nginx-proxy |     registered = self.ssl.register_certificate_or_selfsign([h.hostname for h in ssl_requests],
mesidup-nginx-proxy |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mesidup-nginx-proxy |   File "/app/nginx_proxy/SSL.py", line 144, in register_certificate_or_selfsign
mesidup-nginx-proxy |     obtained = self.register_certificate(sub_list, no_self_check=no_self_check, ignore_existing=ignore_existing)
mesidup-nginx-proxy |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mesidup-nginx-proxy |   File "/app/nginx_proxy/SSL.py", line 133, in register_certificate
mesidup-nginx-proxy |     return domain if acme.solve_http_challenge(directory) else[]
mesidup-nginx-proxy |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mesidup-nginx-proxy |   File "/app/acme_nginx/AcmeV2.py", line 133, in solve_http_challenge
mesidup-nginx-proxy |     return self._sign_certificate(order, directory)
mesidup-nginx-proxy |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mesidup-nginx-proxy |   File "/app/acme_nginx/AcmeV2.py", line 62, in _sign_certificate
mesidup-nginx-proxy |     csr = self.create_csr()
mesidup-nginx-proxy |           ^^^^^^^^^^^^^^^^^
mesidup-nginx-proxy | ValueError: Invalid version. The only valid version for X509Req is 0.

I thought why not upgrade all the packages while I am upgrading the docker-client.

It appears that pyOpenSSL had a breaking change.
It's resolved in d4ae2a3 .
Sorry for the inconvenience.

nospi commented

Thanks @mesudip that's fixed it, all is working now. Thanks again for the prompt fix.