[GH-ISSUE #2381] certbot-dns-cloudflare install fails. #1679

Open
opened 2026-02-26 07:32:00 +03:00 by kerem · 25 comments
Owner

Originally created by @Wasca on GitHub (Nov 8, 2022).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2381

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

Installing certbot-dns-cloudflare fails when creating a new SSL certificate

Nginx Proxy Manager Version
2.9.19

To Reproduce
Steps to reproduce the behavior:

  1. Login to admin area.
  2. Click on SSL Certificates
  3. Click on Add SSL Certificate
  4. Setup Cloudflare DNS to get a new certificate and click save
  5. Produces an error after timeout period

Expected behavior
SSL Certificate is created.

Screenshots
This is the error

[11/8/2022] [12:14:59 PM] [Express  ] › ⚠  warning   Command failed: pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/

WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/

WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/

WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/

WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/

ERROR: Could not find a version that satisfies the requirement certbot-dns-cloudflare==1.31.0 (from versions: none)

ERROR: No matching distribution found for certbot-dns-cloudflare==1.31.0

Operating System
Ubuntu 20.04 LTS

Additional context
Docker version 20.10.21

docker-compose.yml

version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "xxxxxx"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'xxxxxx'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'xxxxxx'
    volumes:
      - ./data/mysql:/var/lib/mysql

I've checked my network and the container is able to download other files using curl.

image

Originally created by @Wasca on GitHub (Nov 8, 2022). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2381 **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** Installing certbot-dns-cloudflare fails when creating a new SSL certificate **Nginx Proxy Manager Version** 2.9.19 **To Reproduce** Steps to reproduce the behavior: 1. Login to admin area. 2. Click on SSL Certificates 3. Click on Add SSL Certificate 4. Setup Cloudflare DNS to get a new certificate and click save 5. Produces an error after timeout period **Expected behavior** SSL Certificate is created. **Screenshots** This is the error ``` [11/8/2022] [12:14:59 PM] [Express ] › ⚠ warning Command failed: pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/certbot-dns-cloudflare/ ERROR: Could not find a version that satisfies the requirement certbot-dns-cloudflare==1.31.0 (from versions: none) ERROR: No matching distribution found for certbot-dns-cloudflare==1.31.0 ``` **Operating System** Ubuntu 20.04 LTS **Additional context** Docker version 20.10.21 docker-compose.yml ``` version: "3" services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # These ports are in format <host-port>:<container-port> - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port # Add any other Stream port you want to expose # - '21:21' # FTP environment: DB_MYSQL_HOST: "db" DB_MYSQL_PORT: 3306 DB_MYSQL_USER: "npm" DB_MYSQL_PASSWORD: "xxxxxx" DB_MYSQL_NAME: "npm" # Uncomment this if IPv6 is not enabled on your host DISABLE_IPV6: 'true' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt depends_on: - db db: image: 'jc21/mariadb-aria:latest' restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: 'xxxxxx' MYSQL_DATABASE: 'npm' MYSQL_USER: 'npm' MYSQL_PASSWORD: 'xxxxxx' volumes: - ./data/mysql:/var/lib/mysql ``` I've checked my network and the container is able to download other files using curl. ![image](https://user-images.githubusercontent.com/869112/200563932-352368f4-b99f-4e8d-9958-4b2220649a14.png)
Author
Owner

@supermamon commented on GitHub (Nov 9, 2022):

I'm getting a similar issue. Encounters an error installing certbot-dns-cloudflare.

Operating System
Raspbian / Linux hostname 5.4.72-v7l+ #1356 SMP Thu Oct 22 13:57:51 BST 2020 armv7l GNU/Linux

Additional context
Docker version 19.03.13, build 4484c46

Last working version for me is 2.9.14

npm       | [11/9/2022] [2:47:21 AM] [Global   ] › ✖  error     Command failed: pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare
npm       |   error: subprocess-exited-with-error
npm       |   
npm       |   × pip subprocess to install build dependencies did not run successfully.
npm       |   │ exit code: 1
npm       |   ╰─> [122 lines of output]
npm       |       Collecting setuptools!=60.9.0,>=40.6.0
npm       |         Using cached setuptools-65.5.1-py3-none-any.whl (1.2 MB)
npm       |       Collecting wheel
npm       |         Using cached wheel-0.38.3-py3-none-any.whl (36 kB)
npm       |       Collecting cffi>=1.12
npm       |         Downloading cffi-1.15.1.tar.gz (508 kB)
npm       |            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 508.5/508.5 kB 3.1 MB/s eta 0:00:00
npm       |         Preparing metadata (setup.py): started
npm       |         Preparing metadata (setup.py): finished with status 'done'
npm       |       Collecting setuptools-rust>=0.11.4
npm       |         Downloading setuptools_rust-1.5.2-py3-none-any.whl (23 kB)
npm       |       Collecting pycparser
npm       |         Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
npm       |            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 2.7 MB/s eta 0:00:00
npm       |       Collecting semantic-version<3,>=2.8.2
npm       |         Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)
npm       |       Collecting typing-extensions>=3.7.4.3
npm       |         Downloading typing_extensions-4.4.0-py3-none-any.whl (26 kB)
npm       |       Building wheels for collected packages: cffi
npm       |         Building wheel for cffi (setup.py): started
npm       |         Building wheel for cffi (setup.py): finished with status 'error'
npm       |         error: subprocess-exited-with-error
npm       |       
npm       |         × python setup.py bdist_wheel did not run successfully.
npm       |         │ exit code: 1
npm       |         ╰─> [36 lines of output]
npm       |             running bdist_wheel
npm       |             running build
npm       |             running build_py
npm       |             creating build
npm       |             creating build/lib.linux-armv7l-3.7
npm       |             creating build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             running build_ext
npm       |             building '_cffi_backend' extension
npm       |             creating build/temp.linux-armv7l-3.7
npm       |             creating build/temp.linux-armv7l-3.7/c
npm       |             arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
npm       |             c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
npm       |              #include <Python.h>
npm       |                       ^~~~~~~~~~
npm       |             compilation terminated.
npm       |             error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
npm       |             [end of output]
npm       |       
npm       |         note: This error originates from a subprocess, and is likely not a problem with pip.
npm       |         ERROR: Failed building wheel for cffi
npm       |         Running setup.py clean for cffi
npm       |       Failed to build cffi
npm       |       Installing collected packages: wheel, typing-extensions, setuptools, semantic-version, pycparser, setuptools-rust, cffi
npm       |         Running setup.py install for cffi: started
npm       |         Running setup.py install for cffi: finished with status 'error'
npm       |         error: subprocess-exited-with-error
npm       |       
npm       |         × Running setup.py install for cffi did not run successfully.
npm       |         │ exit code: 1
npm       |         ╰─> [36 lines of output]
npm       |             running install
npm       |             running build
npm       |             running build_py
npm       |             creating build
npm       |             creating build/lib.linux-armv7l-3.7
npm       |             creating build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
npm       |             running build_ext
npm       |             building '_cffi_backend' extension
npm       |             creating build/temp.linux-armv7l-3.7
npm       |             creating build/temp.linux-armv7l-3.7/c
npm       |             arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
npm       |             c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
npm       |              #include <Python.h>
npm       |                       ^~~~~~~~~~
npm       |             compilation terminated.
npm       |             error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
npm       |             [end of output]
npm       |       
npm       |         note: This error originates from a subprocess, and is likely not a problem with pip.
npm       |       error: legacy-install-failure
npm       |       
npm       |       × Encountered error while trying to install package.
npm       |       ╰─> cffi
npm       |       
npm       |       note: This is an issue with the package mentioned above, not pip.
npm       |       hint: See above for output from the failure.
npm       |       [end of output]
npm       |   
npm       |   note: This error originates from a subprocess, and is likely not a problem with pip.
npm       | error: subprocess-exited-with-error
npm       | 
npm       | × pip subprocess to install build dependencies did not run successfully.
npm       | │ exit code: 1
npm       | ╰─> See above for output.
npm       | 
npm       | note: This error originates from a subprocess, and is likely not a problem with pip.
npm       | 
<!-- gh-comment-id:1308131591 --> @supermamon commented on GitHub (Nov 9, 2022): I'm getting a similar issue. Encounters an error installing `certbot-dns-cloudflare`. **Operating System** Raspbian / Linux _hostname_ 5.4.72-v7l+ #1356 SMP Thu Oct 22 13:57:51 BST 2020 armv7l GNU/Linux **Additional context** Docker version 19.03.13, build 4484c46 Last working version for me is 2.9.14 ``` npm | [11/9/2022] [2:47:21 AM] [Global ] › ✖ error Command failed: pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare npm | error: subprocess-exited-with-error npm | npm | × pip subprocess to install build dependencies did not run successfully. npm | │ exit code: 1 npm | ╰─> [122 lines of output] npm | Collecting setuptools!=60.9.0,>=40.6.0 npm | Using cached setuptools-65.5.1-py3-none-any.whl (1.2 MB) npm | Collecting wheel npm | Using cached wheel-0.38.3-py3-none-any.whl (36 kB) npm | Collecting cffi>=1.12 npm | Downloading cffi-1.15.1.tar.gz (508 kB) npm | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 508.5/508.5 kB 3.1 MB/s eta 0:00:00 npm | Preparing metadata (setup.py): started npm | Preparing metadata (setup.py): finished with status 'done' npm | Collecting setuptools-rust>=0.11.4 npm | Downloading setuptools_rust-1.5.2-py3-none-any.whl (23 kB) npm | Collecting pycparser npm | Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB) npm | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 2.7 MB/s eta 0:00:00 npm | Collecting semantic-version<3,>=2.8.2 npm | Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB) npm | Collecting typing-extensions>=3.7.4.3 npm | Downloading typing_extensions-4.4.0-py3-none-any.whl (26 kB) npm | Building wheels for collected packages: cffi npm | Building wheel for cffi (setup.py): started npm | Building wheel for cffi (setup.py): finished with status 'error' npm | error: subprocess-exited-with-error npm | npm | × python setup.py bdist_wheel did not run successfully. npm | │ exit code: 1 npm | ╰─> [36 lines of output] npm | running bdist_wheel npm | running build npm | running build_py npm | creating build npm | creating build/lib.linux-armv7l-3.7 npm | creating build/lib.linux-armv7l-3.7/cffi npm | copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi npm | running build_ext npm | building '_cffi_backend' extension npm | creating build/temp.linux-armv7l-3.7 npm | creating build/temp.linux-armv7l-3.7/c npm | arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o npm | c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory npm | #include <Python.h> npm | ^~~~~~~~~~ npm | compilation terminated. npm | error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1 npm | [end of output] npm | npm | note: This error originates from a subprocess, and is likely not a problem with pip. npm | ERROR: Failed building wheel for cffi npm | Running setup.py clean for cffi npm | Failed to build cffi npm | Installing collected packages: wheel, typing-extensions, setuptools, semantic-version, pycparser, setuptools-rust, cffi npm | Running setup.py install for cffi: started npm | Running setup.py install for cffi: finished with status 'error' npm | error: subprocess-exited-with-error npm | npm | × Running setup.py install for cffi did not run successfully. npm | │ exit code: 1 npm | ╰─> [36 lines of output] npm | running install npm | running build npm | running build_py npm | creating build npm | creating build/lib.linux-armv7l-3.7 npm | creating build/lib.linux-armv7l-3.7/cffi npm | copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi npm | copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi npm | running build_ext npm | building '_cffi_backend' extension npm | creating build/temp.linux-armv7l-3.7 npm | creating build/temp.linux-armv7l-3.7/c npm | arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o npm | c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory npm | #include <Python.h> npm | ^~~~~~~~~~ npm | compilation terminated. npm | error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1 npm | [end of output] npm | npm | note: This error originates from a subprocess, and is likely not a problem with pip. npm | error: legacy-install-failure npm | npm | × Encountered error while trying to install package. npm | ╰─> cffi npm | npm | note: This is an issue with the package mentioned above, not pip. npm | hint: See above for output from the failure. npm | [end of output] npm | npm | note: This error originates from a subprocess, and is likely not a problem with pip. npm | error: subprocess-exited-with-error npm | npm | × pip subprocess to install build dependencies did not run successfully. npm | │ exit code: 1 npm | ╰─> See above for output. npm | npm | note: This error originates from a subprocess, and is likely not a problem with pip. npm | ```
Author
Owner

@jc21 commented on GitHub (Nov 9, 2022):

Running this command inside the docker container for v2.9.18 on amd64 works fine for me:

pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') 

@Wasca your problem looks to be network related, can you run this command manually in your docker container and see if it still fails?

@supermamon your problem looks more problematic. I don't have a arm7l instance to play with. Can you run these in your container first, then try to install the plugin as above:

sudo apt-get install python-dev
# or 
sudo apt-get install python3-dev

Let me know if that works?

<!-- gh-comment-id:1308141487 --> @jc21 commented on GitHub (Nov 9, 2022): Running this command inside the docker container for v2.9.18 on amd64 works fine for me: ```bash pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') ``` @Wasca your problem looks to be network related, can you run this command manually in your docker container and see if it still fails? @supermamon your problem looks more problematic. I don't have a arm7l instance to play with. Can you run these in your container first, then try to install the plugin as above: ```bash sudo apt-get install python-dev # or sudo apt-get install python3-dev ``` Let me know if that works?
Author
Owner

@Wasca commented on GitHub (Nov 9, 2022):

@jc21

I tend to agree, there does seems to be a network issue. I need to do a 'apt update' first and it seems to be timing out or going really slow, see below image.

image

image

I also tested just downloading a file using curl and I was able to download at 44MB/s so I know my internet connection on this docker container is working.

image

So far I've not had any luck in running the command you asked me to run.

image

<!-- gh-comment-id:1308153119 --> @Wasca commented on GitHub (Nov 9, 2022): @jc21 I tend to agree, there does seems to be a network issue. I need to do a 'apt update' first and it seems to be timing out or going really slow, see below image. ![image](https://user-images.githubusercontent.com/869112/200728420-2973e3b2-1e26-483c-a933-2f302b9298a2.png) ![image](https://user-images.githubusercontent.com/869112/200729776-931d0f30-8f49-45c1-8741-a32567cb0b7a.png) I also tested just downloading a file using curl and I was able to download at 44MB/s so I know my internet connection on this docker container is working. ![image](https://user-images.githubusercontent.com/869112/200730017-01668081-a3e7-4d6f-a5d9-fdafe0512d05.png) So far I've not had any luck in running the command you asked me to run. ![image](https://user-images.githubusercontent.com/869112/200730145-135b75a9-7c71-4b33-86b1-1bd1e6391f99.png)
Author
Owner

@Wasca commented on GitHub (Nov 9, 2022):

@jc21

Oops I miss read your post sorry, here it the result of the command you asked about.

image

<!-- gh-comment-id:1308156301 --> @Wasca commented on GitHub (Nov 9, 2022): @jc21 Oops I miss read your post sorry, here it the result of the command you asked about. ![image](https://user-images.githubusercontent.com/869112/200730996-c9162739-e81a-4632-ac6d-27eba3b3cd04.png)
Author
Owner

@supermamon commented on GitHub (Nov 9, 2022):

@supermamon your problem looks more problematic. I don't have a arm7l instance to play with. Can you run these in your container first, then try to install the plugin as above:

I needed to run apt update before i could install python-dev and python3-dev.
The plugin install keep failing when installing cryptography

Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.12->cryptography>=2.5.0->acme>=1.22.0->certbot-dns-cloudflare==1.22.0) (2.21)
Building wheels for collected packages: cryptography
  Building wheel for cryptography (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for cryptography (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [87 lines of output]
      running bdist_wheel
      running build
      running build_py
      running egg_info
      writing src/cryptography.egg-info/PKG-INFO
      writing dependency_links to src/cryptography.egg-info/dependency_links.txt
      writing requirements to src/cryptography.egg-info/requires.txt
      writing top-level names to src/cryptography.egg-info/top_level.txt
      reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      no previously-included directories found matching 'docs/_build'
      warning: no previously-included files found matching 'vectors'
      warning: no previously-included files matching '*' found under directory 'vectors'
      warning: no previously-included files matching '*' found under directory '.github'
      warning: no previously-included files found matching 'release.py'
      warning: no previously-included files found matching '.readthedocs.yml'
      warning: no previously-included files found matching 'dev-requirements.txt'
      warning: no previously-included files found matching 'tox.ini'
      warning: no previously-included files found matching 'mypy.ini'
      warning: no previously-included files matching '*' found under directory '.circleci'
      adding license file 'LICENSE'
      adding license file 'LICENSE.APACHE'
      adding license file 'LICENSE.BSD'
      adding license file 'LICENSE.PSF'
      running build_ext
      generating cffi module 'build/temp.linux-armv7l-cpython-37/cryptography.hazmat.bindings._openssl.c'
      running build_rust
      /tmp/pip-build-env-xjmfajew/overlay/lib/python3.7/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'cryptography.hazmat.bindings._rust' as data is deprecated, please list it in `packages`.
          !!
      
      
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cryptography.hazmat.bindings._rust' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.
      
          'cryptography.hazmat.bindings._rust' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).
      
          Please make sure that 'cryptography.hazmat.bindings._rust' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
      
          You can read more about "package discovery" and "data files" on setuptools
          documentation page.
      
      
      !!
      
        check.warn(importable)
      
          =============================DEBUG ASSISTANCE=============================
          If you are seeing a compilation error please try the following steps to
          successfully install cryptography:
          1) Upgrade to the latest pip and try again. This will fix errors for most
             users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
          2) Read https://cryptography.io/en/latest/installation/ for specific
             instructions for your platform.
          3) Check our frequently asked questions for more information:
             https://cryptography.io/en/latest/faq/
          4) Ensure you have a recent Rust toolchain installed:
             https://cryptography.io/en/latest/installation/#rust
      
          Python: 3.7.3
          platform: Linux-5.4.72-v7l+-armv7l-with-debian-10.11
          pip: n/a
          setuptools: 65.5.1
          setuptools_rust: 1.5.2
          rustc: n/a
          =============================DEBUG ASSISTANCE=============================
      
      error: can't find Rust compiler
      
      If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
      
      To update pip, run:
      
          pip install --upgrade pip
      
      and then retry package installation.
      
      If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
      
      This package requires Rust >=1.48.0.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
<!-- gh-comment-id:1308196414 --> @supermamon commented on GitHub (Nov 9, 2022): > @supermamon your problem looks more problematic. I don't have a arm7l instance to play with. Can you run these in your container first, then try to install the plugin as above: I needed to run `apt update` before i could install `python-dev` and `python3-dev`. The plugin install keep failing when installing `cryptography` ``` Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.12->cryptography>=2.5.0->acme>=1.22.0->certbot-dns-cloudflare==1.22.0) (2.21) Building wheels for collected packages: cryptography Building wheel for cryptography (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for cryptography (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [87 lines of output] running bdist_wheel running build running build_py running egg_info writing src/cryptography.egg-info/PKG-INFO writing dependency_links to src/cryptography.egg-info/dependency_links.txt writing requirements to src/cryptography.egg-info/requires.txt writing top-level names to src/cryptography.egg-info/top_level.txt reading manifest file 'src/cryptography.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'vectors' warning: no previously-included files matching '*' found under directory 'vectors' warning: no previously-included files matching '*' found under directory '.github' warning: no previously-included files found matching 'release.py' warning: no previously-included files found matching '.readthedocs.yml' warning: no previously-included files found matching 'dev-requirements.txt' warning: no previously-included files found matching 'tox.ini' warning: no previously-included files found matching 'mypy.ini' warning: no previously-included files matching '*' found under directory '.circleci' adding license file 'LICENSE' adding license file 'LICENSE.APACHE' adding license file 'LICENSE.BSD' adding license file 'LICENSE.PSF' running build_ext generating cffi module 'build/temp.linux-armv7l-cpython-37/cryptography.hazmat.bindings._openssl.c' running build_rust /tmp/pip-build-env-xjmfajew/overlay/lib/python3.7/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'cryptography.hazmat.bindings._rust' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'cryptography.hazmat.bindings._rust' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'cryptography.hazmat.bindings._rust' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'cryptography.hazmat.bindings._rust' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) =============================DEBUG ASSISTANCE============================= If you are seeing a compilation error please try the following steps to successfully install cryptography: 1) Upgrade to the latest pip and try again. This will fix errors for most users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip 2) Read https://cryptography.io/en/latest/installation/ for specific instructions for your platform. 3) Check our frequently asked questions for more information: https://cryptography.io/en/latest/faq/ 4) Ensure you have a recent Rust toolchain installed: https://cryptography.io/en/latest/installation/#rust Python: 3.7.3 platform: Linux-5.4.72-v7l+-armv7l-with-debian-10.11 pip: n/a setuptools: 65.5.1 setuptools_rust: 1.5.2 rustc: n/a =============================DEBUG ASSISTANCE============================= error: can't find Rust compiler If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler. To update pip, run: pip install --upgrade pip and then retry package installation. If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain. This package requires Rust >=1.48.0. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for cryptography Failed to build cryptography ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects ```
Author
Owner

@jc21 commented on GitHub (Nov 9, 2022):

ugh I've seen this before but I can't remember what the solution was. I'll keep thinking

<!-- gh-comment-id:1308212818 --> @jc21 commented on GitHub (Nov 9, 2022): ugh I've seen this before but I can't remember what the solution was. I'll keep thinking
Author
Owner

@jc21 commented on GitHub (Nov 9, 2022):

So, apparently the cryptography wheel should come precompiled for python, since 2 years ago. What we're seeing here is that it's trying to be compiled upon installing the plugin that needs it. I'm not sure if this is a raspbian thing or what. This SO suggests that installing some build tools will allow it to build. This isn't a practical solution everyone, as it will bloat the image and the majority of users won't need that bloat.

The strange thing is that this didn't happen for you in 2.9.18? or for some reason, the pip command is using v2 instead of a v3 symlink. Maybe using pip3 is different?

pip3 install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') 
<!-- gh-comment-id:1309503731 --> @jc21 commented on GitHub (Nov 9, 2022): So, apparently the `cryptography` wheel should come precompiled for python, since 2 years ago. What we're seeing here is that it's trying to be compiled upon installing the plugin that needs it. I'm not sure if this is a raspbian thing or what. [This SO](https://stackoverflow.com/questions/22073516/failed-to-install-python-cryptography-package-with-pip-and-setup-py) suggests that installing some build tools will allow it to build. This isn't a practical solution everyone, as it will bloat the image and the majority of users won't need that bloat. The strange thing is that this didn't happen for you in 2.9.18? or for some reason, the `pip` command is using v2 instead of a v3 symlink. Maybe using `pip3` is different? ```bash pip3 install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') ```
Author
Owner

@supermamon commented on GitHub (Nov 10, 2022):

I'm not entire sure if Raspbian matters here since it still uses the linux/arm/v7 base when in docker.
I haven't updated a while (was on 2.9.14 before) and jumping to 2.9.19. That didn't work so I tried incremental updates. 2.9.15 started showing this issue.

The logs above where on 2.9.18. Below is what I get on 2.9.15 - after the base image change from nginxproxymanager/nginx-full:node to nginxproxymanager/nginx-full:certbot-node. Not sure if that matters.

These are the docker logs where it just hangs there. From what I understand, it hangs there because it's trying to install cryptography from version 38.0.3 working backwards until it can find a successful install.

npm_db    | 2022-11-10  0:39:23 0 [Note] Server socket created on IP: '0.0.0.0'.
npm_db    | 2022-11-10  0:39:23 0 [Note] Server socket created on IP: '::'.
npm_db    | 2022-11-10  0:39:23 0 [Warning] 'user' entry '@46c7c6e245ad' ignored in --skip-name-resolve mode.
npm_db    | 2022-11-10  0:39:23 0 [Warning] 'proxies_priv' entry '@% root@46c7c6e245ad' ignored in --skip-name-resolve mode.
npm_db    | 2022-11-10  0:39:23 0 [Note] /usr/bin/mysqld: ready for connections.
npm_db    | Version: '10.6.9-MariaDB'  socket: '/run/mysqld/mysqld.sock'  port: 3306  MariaDB Server
npm_db    | 2022-11-10  0:39:23 0 [Note] InnoDB: Buffer pool(s) load completed at 221110  0:39:23
npm       | [11/10/2022] [12:39:36 AM] [Migrate  ] › ℹ  info      Current database version: 20211108145214
npm       | [11/10/2022] [12:39:36 AM] [Setup    ] › ℹ  info      Creating a new JWT key pair...
npm       | [11/10/2022] [12:40:25 AM] [Setup    ] › ℹ  info      Wrote JWT key pair to config file: /app/config/production.json

Into the container.

 _   _       _            ____                      __  __                                   
| \ | | __ _(_)_ __ __  _|  _ \ _ __ _____  ___   _|  \/  | __ _ _ __   __ _  __ _  ___ _ __ 
|  \| |/ _` | | '_ \\ \/ / |_) | '__/ _ \ \/ / | | | |\/| |/ _` | '_ \ / _` |/ _` |/ _ \ '__|
| |\  | (_| | | | | |>  <|  __/| | | (_) >  <| |_| | |  | | (_| | | | | (_| | (_| |  __/ |   
|_| \_|\__, |_|_| |_/_/\_\_|   |_|  \___/_/\_\\__, |_|  |_|\__,_|_| |_|\__,_|\__, |\___|_|   
       |___/                                  |___/                          |___/           
Version 2.9.15 (a233bc0) 2022-01-17 02:14:47 UTC, OpenResty 1.19.9.1, debian 10 (buster), Certbot certbot 1.22.0
Base: debian:buster-slim, linux/arm/v7
Certbot: nginxproxymanager/nginx-full:latest, linux/arm/v7
Node: nginxproxymanager/nginx-full:certbot, linux/arm/v7

using pip to install seems like it's using the pip3 symlink but hits the cryptography package error.

[root@docker-cde931123925:/app]# pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+')

...
Collecting cryptography>=2.5.0
  Using cached cryptography-38.0.3.tar.gz (599 kB)
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/pip-standalone-pip-y98tlwj4/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-rpu8l9sy/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0,!=60.9.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
       cwd: None

...

  Building wheels for collected packages: cffi
    Building wheel for cffi (setup.py): started
    Building wheel for cffi (setup.py): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_f4tkjre/cffi_e97397f8c8d9429a8f6499b71e617021/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_f4tkjre/cffi_e97397f8c8d9429a8f6499b71e617021/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-2trrsp_w
         cwd: /tmp/pip-install-_f4tkjre/cffi_e97397f8c8d9429a8f6499b71e617021/

...

    creating build/temp.linux-armv7l-3.7
    creating build/temp.linux-armv7l-3.7/c
    arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -flto -fuse-linker-plugin -ffat-lto-objects -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
    c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
     #include <Python.h>
              ^~~~~~~~~~
    compilation terminated.
    error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
    ----------------------------------------
    ERROR: Failed building wheel for cffi

...


<!-- gh-comment-id:1309622730 --> @supermamon commented on GitHub (Nov 10, 2022): I'm not entire sure if Raspbian matters here since it still uses the `linux/arm/v7` base when in docker. I haven't updated a while (was on 2.9.14 before) and jumping to 2.9.19. That didn't work so I tried incremental updates. 2.9.15 started showing this issue. The logs above where on 2.9.18. Below is what I get on 2.9.15 - after the base image change from `nginxproxymanager/nginx-full:node` to `nginxproxymanager/nginx-full:certbot-node`. Not sure if that matters. These are the docker logs where it just hangs there. From what I understand, it hangs there because it's trying to install cryptography from version 38.0.3 working backwards until it can find a successful install. ``` npm_db | 2022-11-10 0:39:23 0 [Note] Server socket created on IP: '0.0.0.0'. npm_db | 2022-11-10 0:39:23 0 [Note] Server socket created on IP: '::'. npm_db | 2022-11-10 0:39:23 0 [Warning] 'user' entry '@46c7c6e245ad' ignored in --skip-name-resolve mode. npm_db | 2022-11-10 0:39:23 0 [Warning] 'proxies_priv' entry '@% root@46c7c6e245ad' ignored in --skip-name-resolve mode. npm_db | 2022-11-10 0:39:23 0 [Note] /usr/bin/mysqld: ready for connections. npm_db | Version: '10.6.9-MariaDB' socket: '/run/mysqld/mysqld.sock' port: 3306 MariaDB Server npm_db | 2022-11-10 0:39:23 0 [Note] InnoDB: Buffer pool(s) load completed at 221110 0:39:23 npm | [11/10/2022] [12:39:36 AM] [Migrate ] › ℹ info Current database version: 20211108145214 npm | [11/10/2022] [12:39:36 AM] [Setup ] › ℹ info Creating a new JWT key pair... npm | [11/10/2022] [12:40:25 AM] [Setup ] › ℹ info Wrote JWT key pair to config file: /app/config/production.json ``` Into the container. ``` _ _ _ ____ __ __ | \ | | __ _(_)_ __ __ _| _ \ _ __ _____ ___ _| \/ | __ _ _ __ __ _ __ _ ___ _ __ | \| |/ _` | | '_ \\ \/ / |_) | '__/ _ \ \/ / | | | |\/| |/ _` | '_ \ / _` |/ _` |/ _ \ '__| | |\ | (_| | | | | |> <| __/| | | (_) > <| |_| | | | | (_| | | | | (_| | (_| | __/ | |_| \_|\__, |_|_| |_/_/\_\_| |_| \___/_/\_\\__, |_| |_|\__,_|_| |_|\__,_|\__, |\___|_| |___/ |___/ |___/ Version 2.9.15 (a233bc0) 2022-01-17 02:14:47 UTC, OpenResty 1.19.9.1, debian 10 (buster), Certbot certbot 1.22.0 Base: debian:buster-slim, linux/arm/v7 Certbot: nginxproxymanager/nginx-full:latest, linux/arm/v7 Node: nginxproxymanager/nginx-full:certbot, linux/arm/v7 ``` using `pip` to install seems like it's using the pip3 symlink but hits the `cryptography` package error. ``` [root@docker-cde931123925:/app]# pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') ... Collecting cryptography>=2.5.0 Using cached cryptography-38.0.3.tar.gz (599 kB) Installing build dependencies ... error ERROR: Command errored out with exit status 1: command: /usr/bin/python3 /tmp/pip-standalone-pip-y98tlwj4/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-rpu8l9sy/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0,!=60.9.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' cwd: None ... Building wheels for collected packages: cffi Building wheel for cffi (setup.py): started Building wheel for cffi (setup.py): finished with status 'error' ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_f4tkjre/cffi_e97397f8c8d9429a8f6499b71e617021/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_f4tkjre/cffi_e97397f8c8d9429a8f6499b71e617021/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-2trrsp_w cwd: /tmp/pip-install-_f4tkjre/cffi_e97397f8c8d9429a8f6499b71e617021/ ... creating build/temp.linux-armv7l-3.7 creating build/temp.linux-armv7l-3.7/c arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -flto -fuse-linker-plugin -ffat-lto-objects -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory #include <Python.h> ^~~~~~~~~~ compilation terminated. error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1 ---------------------------------------- ERROR: Failed building wheel for cffi ... ```
Author
Owner

@jc21 commented on GitHub (Nov 10, 2022):

I'm pretty sure that base image change will be a cause of your issue. It could also be the version change for the plugin, though this is less likely.

<!-- gh-comment-id:1309643378 --> @jc21 commented on GitHub (Nov 10, 2022): I'm pretty sure that base image change will be a cause of your issue. It could also be the version change for the plugin, though this is less likely.
Author
Owner

@supermamon commented on GitHub (Nov 10, 2022):

I just found this open issue - https://github.com/NginxProxyManager/nginx-proxy-manager/issues/1769.
I guess I'll stay on 2.9.14 for now until there's a definite fix.

<!-- gh-comment-id:1309652972 --> @supermamon commented on GitHub (Nov 10, 2022): I just found this open issue - https://github.com/NginxProxyManager/nginx-proxy-manager/issues/1769. I guess I'll stay on 2.9.14 for now until there's a definite fix.
Author
Owner

@jc21 commented on GitHub (Nov 10, 2022):

Ok yeah I must have missed those newer comments. As they suggested, compiling inside will add the bloat, but does this work for you?

pip3 install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary
<!-- gh-comment-id:1309713085 --> @jc21 commented on GitHub (Nov 10, 2022): Ok yeah I must have missed those newer comments. As they suggested, compiling inside will add the bloat, but does this work for you? ```bash pip3 install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary ```
Author
Owner

@supermamon commented on GitHub (Nov 10, 2022):

looks like that installed successfully:

Installing collected packages: pycparser, cffi, urllib3, idna, cryptography, charset-normalizer, certifi, requests, pytz, PyOpenSSL, zope.interface, zope.hookable, zope.event, typing-extensions, soupsieve, six, requests-toolbelt, pyrfc3339, josepy, attrs, zope.component, pyyaml, parsedatetime, jsonlines, distro, configobj, ConfigArgParse, beautifulsoup4, acme, cloudflare, certbot, certbot-dns-cloudflare
Successfully installed ConfigArgParse-1.5.3 PyOpenSSL-22.0.0 acme-1.32.0 attrs-22.1.0 beautifulsoup4-4.11.1 certbot-1.32.0 certbot-dns-cloudflare-1.32.0 certifi-2022.9.24 cffi-1.15.1 charset-normalizer-2.1.1 cloudflare-2.10.4 configobj-5.0.6 cryptography-37.0.4 distro-1.8.0 idna-3.4 josepy-1.13.0 jsonlines-3.1.0 parsedatetime-2.6 pycparser-2.21 pyrfc3339-1.1 pytz-2022.5 pyyaml-6.0 requests-2.28.1 requests-toolbelt-0.10.1 six-1.16.0 soupsieve-2.3.2.post1 typing-extensions-4.4.0 urllib3-1.26.12 zope.component-5.0.1 zope.event-4.5.0 zope.hookable-5.3 zope.interface-5.5.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
WARNING: You are using pip version 21.3.1; however, version 22.3.1 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
[root@docker-3e2f12035d89:/app]# 
<!-- gh-comment-id:1310077213 --> @supermamon commented on GitHub (Nov 10, 2022): looks like that installed successfully: ``` Installing collected packages: pycparser, cffi, urllib3, idna, cryptography, charset-normalizer, certifi, requests, pytz, PyOpenSSL, zope.interface, zope.hookable, zope.event, typing-extensions, soupsieve, six, requests-toolbelt, pyrfc3339, josepy, attrs, zope.component, pyyaml, parsedatetime, jsonlines, distro, configobj, ConfigArgParse, beautifulsoup4, acme, cloudflare, certbot, certbot-dns-cloudflare Successfully installed ConfigArgParse-1.5.3 PyOpenSSL-22.0.0 acme-1.32.0 attrs-22.1.0 beautifulsoup4-4.11.1 certbot-1.32.0 certbot-dns-cloudflare-1.32.0 certifi-2022.9.24 cffi-1.15.1 charset-normalizer-2.1.1 cloudflare-2.10.4 configobj-5.0.6 cryptography-37.0.4 distro-1.8.0 idna-3.4 josepy-1.13.0 jsonlines-3.1.0 parsedatetime-2.6 pycparser-2.21 pyrfc3339-1.1 pytz-2022.5 pyyaml-6.0 requests-2.28.1 requests-toolbelt-0.10.1 six-1.16.0 soupsieve-2.3.2.post1 typing-extensions-4.4.0 urllib3-1.26.12 zope.component-5.0.1 zope.event-4.5.0 zope.hookable-5.3 zope.interface-5.5.1 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv WARNING: You are using pip version 21.3.1; however, version 22.3.1 is available. You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command. [root@docker-3e2f12035d89:/app]# ```
Author
Owner

@jc21 commented on GitHub (Nov 14, 2022):

Can you please try the github-develop docker tag, it should have the fix

<!-- gh-comment-id:1314497782 --> @jc21 commented on GitHub (Nov 14, 2022): Can you please try the `github-develop` docker tag, it should have the fix
Author
Owner

@supermamon commented on GitHub (Nov 16, 2022):

yes, that works thank you.

<!-- gh-comment-id:1317139744 --> @supermamon commented on GitHub (Nov 16, 2022): yes, that works thank you.
Author
Owner

@promiseofcake commented on GitHub (Nov 18, 2022):

Also confirmed worked, thanks!

<!-- gh-comment-id:1320433424 --> @promiseofcake commented on GitHub (Nov 18, 2022): Also confirmed worked, thanks!
Author
Owner

@Wasca commented on GitHub (Nov 21, 2022):

@jc21 My original issue is resolved, there was a routing issue within my docker environment which was blocking access to the routes the container was trying to access.

<!-- gh-comment-id:1322707876 --> @Wasca commented on GitHub (Nov 21, 2022): @jc21 My original issue is resolved, there was a routing issue within my docker environment which was blocking access to the routes the container was trying to access.
Author
Owner

@github-actions[bot] commented on GitHub (Feb 5, 2024):

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

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

@engemil commented on GitHub (Jun 26, 2024):

Can you please try the github-develop docker tag, it should have the fix

This worked for me!

Hope the changes made in github-develop becomes a stable release soon.

<!-- gh-comment-id:2191658652 --> @engemil commented on GitHub (Jun 26, 2024): > Can you please try the `github-develop` docker tag, it should have the fix This worked for me! Hope the changes made in github-develop becomes a stable release soon.
Author
Owner

@GeorgKlaussner commented on GitHub (Jun 26, 2024):

Using github-develop docker tag also fixed it for me. Thanks.

<!-- gh-comment-id:2191912002 --> @GeorgKlaussner commented on GitHub (Jun 26, 2024): Using github-develop docker tag also fixed it for me. Thanks.
Author
Owner

@teotimepacreau commented on GitHub (Jun 27, 2024):

github-develop docker tag fixing it also for me

    image: 'jc21/nginx-proxy-manager:github-develop'
<!-- gh-comment-id:2195661160 --> @teotimepacreau commented on GitHub (Jun 27, 2024): github-develop docker tag fixing it also for me ``` image: 'jc21/nginx-proxy-manager:github-develop' ```
Author
Owner

@diabolo511 commented on GitHub (Aug 17, 2024):

@jc21 My original issue is resolved, there was a routing issue within my docker environment which was blocking access to the routes the container was trying to access.

Would you mind sharing your solution if you can remember?

<!-- gh-comment-id:2294833701 --> @diabolo511 commented on GitHub (Aug 17, 2024): > @jc21 My original issue is resolved, there was a routing issue within my docker environment which was blocking access to the routes the container was trying to access. Would you mind sharing your solution if you can remember?
Author
Owner

@asmoura commented on GitHub (Oct 14, 2024):

Just ran the command and still got an error:

pip3 install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary

Error:
Could not find a version that satisfies the requirement cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare) (from versions: )
No matching distribution found for cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare)

Log:

root@dea2531247a8:/app# pip3 install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary
Looking in indexes: https://www.piwheels.org/simple
Collecting certbot-dns-cloudflare
Downloading https://www.piwheels.org/simple/certbot-dns-cloudflare/certbot_dns_cloudflare-2.7.4-py3-none-any.whl
Collecting certbot>=2.7.4 (from certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/certbot/certbot-2.7.4-py3-none-any.whl (405kB)
100% |████████████████████████████████| 409kB 735kB/s
Collecting cloudflare>=1.5.1 (from certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/cloudflare/cloudflare-3.1.0-py3-none-any.whl (2.9MB)
100% |████████████████████████████████| 2.9MB 398kB/s
Collecting acme>=2.7.4 (from certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/acme/acme-2.7.4-py3-none-any.whl (95kB)
100% |████████████████████████████████| 102kB 1.2MB/s
Collecting setuptools>=41.6.0 (from certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/setuptools/setuptools-68.0.0-py3-none-any.whl (804kB)
100% |████████████████████████████████| 808kB 784kB/s
Collecting pytz>=2019.3 (from certbot>=2.7.4->certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/pytz/pytz-2024.2-py3-none-any.whl (507kB)
100% |████████████████████████████████| 512kB 1.2MB/s
Collecting importlib-resources>=1.3.1; python_version < "3.9" (from certbot>=2.7.4->certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/importlib-resources/importlib_resources-5.12.0-py3-none-any.whl
Collecting configobj>=5.0.6 (from certbot>=2.7.4->certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/configobj/configobj-5.0.9-py2.py3-none-any.whl
Collecting parsedatetime>=2.4 (from certbot>=2.7.4->certbot-dns-cloudflare)
Downloading https://www.piwheels.org/simple/parsedatetime/parsedatetime-2.6-py3-none-any.whl (42kB)
100% |████████████████████████████████| 51kB 3.8MB/s
Collecting cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare)
Could not find a version that satisfies the requirement cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare) (from versions: )
No matching distribution found for cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare)

<!-- gh-comment-id:2411235812 --> @asmoura commented on GitHub (Oct 14, 2024): Just ran the command and still got an error: pip3 install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary Error: Could not find a version that satisfies the requirement cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare) (from versions: ) No matching distribution found for cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare) Log: root@dea2531247a8:/app# pip3 install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary Looking in indexes: https://www.piwheels.org/simple Collecting certbot-dns-cloudflare Downloading https://www.piwheels.org/simple/certbot-dns-cloudflare/certbot_dns_cloudflare-2.7.4-py3-none-any.whl Collecting certbot>=2.7.4 (from certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/certbot/certbot-2.7.4-py3-none-any.whl (405kB) 100% |████████████████████████████████| 409kB 735kB/s Collecting cloudflare>=1.5.1 (from certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/cloudflare/cloudflare-3.1.0-py3-none-any.whl (2.9MB) 100% |████████████████████████████████| 2.9MB 398kB/s Collecting acme>=2.7.4 (from certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/acme/acme-2.7.4-py3-none-any.whl (95kB) 100% |████████████████████████████████| 102kB 1.2MB/s Collecting setuptools>=41.6.0 (from certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/setuptools/setuptools-68.0.0-py3-none-any.whl (804kB) 100% |████████████████████████████████| 808kB 784kB/s Collecting pytz>=2019.3 (from certbot>=2.7.4->certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/pytz/pytz-2024.2-py3-none-any.whl (507kB) 100% |████████████████████████████████| 512kB 1.2MB/s Collecting importlib-resources>=1.3.1; python_version < "3.9" (from certbot>=2.7.4->certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/importlib-resources/importlib_resources-5.12.0-py3-none-any.whl Collecting configobj>=5.0.6 (from certbot>=2.7.4->certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/configobj/configobj-5.0.9-py2.py3-none-any.whl Collecting parsedatetime>=2.4 (from certbot>=2.7.4->certbot-dns-cloudflare) Downloading https://www.piwheels.org/simple/parsedatetime/parsedatetime-2.6-py3-none-any.whl (42kB) 100% |████████████████████████████████| 51kB 3.8MB/s Collecting cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare) Could not find a version that satisfies the requirement cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare) (from versions: ) No matching distribution found for cryptography>=3.2.1 (from certbot>=2.7.4->certbot-dns-cloudflare)
Author
Owner

@suditugeorge commented on GitHub (Mar 15, 2025):

The version 2.11.3 seems to resolve this issue

<!-- gh-comment-id:2726798393 --> @suditugeorge commented on GitHub (Mar 15, 2025): The version 2.11.3 seems to resolve this issue
Author
Owner

@Silicon51 commented on GitHub (May 21, 2025):

So, there's a chance that you have my case: both piHole and NPM as docker containers.
Due to some weird behavior of DNS resolver NPM container do not have access to internet so cannot request for cert.
For me it log errors like Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/cloudflare/
Also I have error Failed to check the reachability due to a communication error with site24x7.com nginx proxy when in version 2.12.3 I use option "Test Server Reachability" from tab SSL Certificates.
How to solve it?
add following to your NPM docker compose:

dns:
  - 172.19.0.4 <<pihole IP adress>>
  - 1.1.1.1
  - 8.8.8.8
<!-- gh-comment-id:2899526435 --> @Silicon51 commented on GitHub (May 21, 2025): So, there's a chance that you have my case: both piHole and NPM as docker containers. Due to some weird behavior of DNS resolver NPM container do not have access to internet so cannot request for cert. For me it log errors like `Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/cloudflare/` Also I have error `Failed to check the reachability due to a communication error with site24x7.com nginx proxy` when in version 2.12.3 I use option "Test Server Reachability" from tab SSL Certificates. How to solve it? add following to your NPM docker compose: dns: - 172.19.0.4 <<pihole IP adress>> - 1.1.1.1 - 8.8.8.8
Author
Owner

@github-actions[bot] commented on GitHub (Dec 3, 2025):

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

<!-- gh-comment-id:3604736932 --> @github-actions[bot] commented on GitHub (Dec 3, 2025): Issue is now considered stale. If you want to keep it open, please comment :+1:
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#1679
No description provided.