Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Porkbun cercbot dns version too old, causes "key-error" #519

Closed
1 task done
connbrack opened this issue Nov 7, 2024 · 7 comments
Closed
1 task done

[BUG] Porkbun cercbot dns version too old, causes "key-error" #519

connbrack opened this issue Nov 7, 2024 · 7 comments

Comments

@connbrack
Copy link

connbrack commented Nov 7, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When using the DNSPLUGIN=porkbun option, I get the error in the logs listed below.

Expected Behavior

DNS works properly

Steps To Reproduce

Use standard config in swag documentation. Use VALIDATION=dns, DNSPLUGIN=porkbun. Enter API key and secret in porkbun.ini

Environment

- OS: Fedora 40 server
- How docker service was installed: Using official instructions: https://docs.docker.com/engine/install/fedora/

CPU architecture

x86-64

Docker creation

docker compose up swag
swag:
  image: lscr.io/linuxserver/swag:latest
  container_name: swag
  cap_add:
    - NET_ADMIN
  environment:
    - PUID=1000
    - PGID=1000
    - TZ=Etc/UTC
    - URL=example.domain.com
    - VALIDATION=dns
    - SUBDOMAINS=www,
    - DNSPLUGIN=porkbun
  volumes:
    - /home/server/services/swag/config:/config
  ports:
    - 443:443
    - 80:80
  restart: unless-stopped

Container logs

Encountered exception during recovery: KeyError: 'oN94YkJWnu2pdC0XLUtGSaprnZLrmhjMJ1aovVBXZfY'
'PKBClient' object has no attribute 'dns_create'
Copy link

github-actions bot commented Nov 7, 2024

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

@connbrack
Copy link
Author

connbrack commented Nov 7, 2024

We have already found the solution, the version number of certbot-dns-porkbun in package_versions.txt is 0.5, while the latest version is 0.8. by adding the following to the environment in the docker compose yaml, the DNS certification works

- DOCKER_MODS=linuxserver/mods:universal-package-install
- INSTALL_PIP_PACKAGES=certbot-dns-porkbun==0.8

@aptalca
Copy link
Member

aptalca commented Nov 7, 2024

We noticed that when certbot and acme moved up a major version (3.0.0) the other day, a few of the third party dns plugins downgraded a few versions. We didn't get a chance to look into it in detail yet but my guess is, those plugins may have added certbot dep constraints like <3 in their recent versions so pip keeps going back to find a version without that constraint. If that is the case, then those plugins would have to update their dep constraints.

When you force installed porkbun 0.8, did it downgrade certbot and acme by any chance?

@connbrack
Copy link
Author

Ah yes it did, the certbot version in the container is now 2.11.0

@aptalca
Copy link
Member

aptalca commented Nov 7, 2024

Thanks for the confirmation.

So that workaround is probably the best one for you at the moment, but we can't apply that to the image as we don't want certbot downgraded for everyone.

@aptalca
Copy link
Member

aptalca commented Nov 7, 2024

Looks like the dev of that plugin was notified by the certbot team of the upcoming bump a few months ago. The dev made the compatibility changes in master branch, but did not push a new release yet. I notified them.

infinityofspace/certbot_dns_porkbun#71

@connbrack
Copy link
Author

Great, thanks for the update!

@LinuxServer-CI LinuxServer-CI moved this from Issues to Done in Issue & PR Tracker Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

2 participants