NginxProxyManager / nginx-proxy-manager

Docker container for managing Nginx proxy hosts with a simple, powerful interface
https://nginxproxymanager.com
MIT License
21.92k stars 2.53k forks source link

certbot-dns-cloudflare install fails. #2381

Open Wasca opened 1 year ago

Wasca commented 1 year ago

Checklist

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

supermamon commented 1 year ago

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       | 
jc21 commented 1 year ago

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?

Wasca commented 1 year ago

@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

Wasca commented 1 year ago

@jc21

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

image

supermamon commented 1 year ago

@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
jc21 commented 1 year ago

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

jc21 commented 1 year ago

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]+)+') 
supermamon commented 1 year ago

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

...
jc21 commented 1 year ago

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.

supermamon commented 1 year ago

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.

jc21 commented 1 year ago

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
supermamon commented 1 year ago

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]# 
jc21 commented 1 year ago

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

supermamon commented 1 year ago

yes, that works thank you.

promiseofcake commented 1 year ago

Also confirmed worked, thanks!

Wasca commented 1 year ago

@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.

github-actions[bot] commented 7 months ago

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

engemil commented 2 months ago

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.

GeorgKlaussner commented 2 months ago

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

teotimepacreau commented 2 months ago

github-develop docker tag fixing it also for me

    image: 'jc21/nginx-proxy-manager:github-develop'
diabolo511 commented 3 weeks ago

@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?