NginxProxyManager / NginxProxyManager/nginx-proxy-manager
Building wheel for certbot-dns-multi (pyproject.toml) did not run successfully.
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 34.2k
- Forks
- 3.9k
- Avg merge
- 21h 12m
- Merged PRs (30d)
- 20
Description
Checklist
- Have you pulled and found the error with
jc21/nginx-proxy-manager:latestdocker 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
Starting nginx proxy manager on my debian running in docker works fine. Has 10 proxy host and 1 certificate requested via DNSMulti ipv64.
When i try to copy my complete configuration files to my raspberry pi, also running it in docker i get an error during start which seems to be related to the DNSMulti configuration of the certificate. Starting blank works fine, but with my configuration copied i get the following error during start. The same applies when requesting a new certificate right after a fresh start of the container without configuration.
Log:
nginxproxymanager-app-1 | [3/2/2025] [12:45:57 AM] [Certbot ] › ▶ start Installing dnsmulti...
nginxproxymanager-app-1 | [3/2/2025] [12:45:57 AM] [Global ] › ⬤ debug CMD: . /opt/certbot/bin/activate && pip install --no-cache-dir certbot-dns-multi~=4.9 && deactivate
nginxproxymanager-app-1 | [3/2/2025] [12:46:08 AM] [Certbot ] › ✖ error error: subprocess-exited-with-error
nginxproxymanager-app-1 |
nginxproxymanager-app-1 | × Building wheel for certbot-dns-multi (pyproject.toml) did not run successfully.
nginxproxymanager-app-1 | │ exit code: 1
nginxproxymanager-app-1 | ╰─> [27 lines of output]
nginxproxymanager-app-1 | running bdist_wheel
nginxproxymanager-app-1 | running build
nginxproxymanager-app-1 | running build_py
nginxproxymanager-app-1 | creating build/lib.linux-aarch64-cpython-311/certbot_dns_multi
nginxproxymanager-app-1 | copying certbot_dns_multi/_version.py -> build/lib.linux-aarch64-cpython-311/certbot_dns_multi
nginxproxymanager-app-1 | copying certbot_dns_multi/init.py -> build/lib.linux-aarch64-cpython-311/certbot_dns_multi
nginxproxymanager-app-1 | creating build/lib.linux-aarch64-cpython-311/certbot_dns_multi/_internal
nginxproxymanager-app-1 | copying certbot_dns_multi/_internal/dns_multi.py -> build/lib.linux-aarch64-cpython-311/certbot_dns_multi/_internal
nginxproxymanager-app-1 | running egg_info
nginxproxymanager-app-1 | writing certbot_dns_multi.egg-info/PKG-INFO
nginxproxymanager-app-1 | writing dependency_links to certbot_dns_multi.egg-info/dependency_links.txt
nginxproxymanager-app-1 | writing entry points to certbot_dns_multi.egg-info/entry_points.txt
nginxproxymanager-app-1 | writing requirements to certbot_dns_multi.egg-info/requires.txt
nginxproxymanager-app-1 | writing top-level names to certbot_dns_multi.egg-info/top_level.txt
nginxproxymanager-app-1 | ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
nginxproxymanager-app-1 | reading manifest file 'certbot_dns_multi.egg-info/SOURCES.txt'
nginxproxymanager-app-1 | reading manifest template 'MANIFEST.in'
nginxproxymanager-app-1 | adding license file 'LICENSE.txt'
nginxproxymanager-app-1 | writing manifest file 'certbot_dns_multi.egg-info/SOURCES.txt'
nginxproxymanager-app-1 | creating build/lib.linux-aarch64-cpython-311/certbot_dns_multi/_internal/bridge
nginxproxymanager-app-1 | copying certbot_dns_multi/_internal/bridge/go.mod -> build/lib.linux-aarch64-cpython-311/certbot_dns_multi/_internal/bridge
nginxproxymanager-app-1 | copying certbot_dns_multi/_internal/bridge/go.sum -> build/lib.linux-aarch64-cpython-311/certbot_dns_multi/_internal/bridge
nginxproxymanager-app-1 | copying certbot_dns_multi/_internal/bridge/main.c -> build/lib.linux-aarch64-cpython-311/certbot_dns_multi/_internal/bridge
nginxproxymanager-app-1 | copying certbot_dns_multi/_internal/bridge/main.go -> build/lib.linux-aarch64-cpython-311/certbot_dns_multi/_internal/bridge
nginxproxymanager-app-1 | running build_ext
nginxproxymanager-app-1 | $ GOPATH=/tmp/tmphqs553fi go get -d
nginxproxymanager-app-1 | error: [Errno 2] No such file or directory: 'go'
nginxproxymanager-app-1 | [end of output]
nginxproxymanager-app-1 |
nginxproxymanager-app-1 | note: This error originates from a subprocess, and is likely not a problem with pip.
nginxproxymanager-app-1 | ERROR: Failed building wheel for certbot-dns-multi
nginxproxymanager-app-1 |
nginxproxymanager-app-1 | [notice] A new release of pip is available: 24.3.1 -> 25.0.1
nginxproxymanager-app-1 | [notice] To update, run: pip install --upgrade pip
nginxproxymanager-app-1 | ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (certbot-dns-multi)
nginxproxymanager-app-1 |
nginxproxymanager-app-1 | [3/2/2025] [12:46:08 AM] [Global ] › ✖ error Some plugins failed to install. Please check the logs above CommandError: Some plugins failed to install. Please check the logs above
nginxproxymanager-app-1 | at /app/lib/certbot.js:39:14
nginxproxymanager-app-1 | at Immediate. (/app/node_modules/batchflow/lib/batchflow.js:80:9)
nginxproxymanager-app-1 | at process.processImmediate (node:internal/timers:483:21) {
nginxproxymanager-app-1 | previous: undefined,
nginxproxymanager-app-1 | code: 1,
nginxproxymanager-app-1 | public: false
nginxproxymanager-app-1 | }
nginxproxymanager-app-1 | [3/2/2025] [12:46:09 AM] [Migrate ] › ℹ info Current database version: none
nginxproxymanager-app-1 | [3/2/2025] [12:46:09 AM] [Global ] › ⬤ debug CMD: [ -f '/etc/letsencrypt/credentials/credentials-1' ] || { mkdir -p /etc/letsencrypt/credentials 2> /dev/null; echo 'dns_multi_provider = ipv64
Nginx Proxy Manager Version
v2.12.3
To Reproduce
Steps to reproduce the behavior:
- Go to 'SSL Certificates'
- Click on 'Add SSL Certificate'
- Click on 'Lets encrypt'
- Enter domain
- Click on 'Use a dns challenge'
- Choose 'DNSMulti' provider
- Use following config: 'https://go-acme.github.io/lego/dns/ipv64/index.html'
- Click on save
Expected behavior
Normal start without errors after copying my configuration or at least no problems when requesting a new one as described in "to reproduce".
Operating System
Raspberry pi 4, 4GB RAM, 64GB SD Card,
Raspberry Pi OS:
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
Docker:
Client: Docker Engine - Community
Version: 28.0.1
API version: 1.48
Go version: go1.23.6
Git commit: 068a01e
Built: Wed Feb 26 10:40:57 2025
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.0.1
API version: 1.48 (minimum version 1.24)
Go version: go1.23.6
Git commit: bbd0a17
Built: Wed Feb 26 10:40:57 2025
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.2.4
GitCommit: v1.2.4-0-g6c52b3f
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the certificate installation path in /app/lib/certbot.js and the container setup that runs pip for certbot-dns-multi. Reproduce the arm64 failure and investigate how the missing Go executable affects the package build. Done means DNSMulti installation and certificate requests work on the reported Raspberry Pi Docker environment without the startup error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go, python, typescript
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100