{"id":23414,"library":"certbot-nginx","title":"certbot-nginx","description":"Official Nginx plugin for Certbot, enabling automatic TLS certificate issuance and renewal for Nginx servers on Linux. Current version 5.5.0 supports Python >=3.10. Released approximately quarterly.","status":"active","version":"5.5.0","language":"python","source_language":"en","source_url":"https://github.com/certbot/certbot","tags":["certbot","nginx","tls","ssl","plugin"],"install":[{"cmd":"pip install certbot-nginx","lang":"bash","label":"PyPI install"}],"dependencies":[{"reason":"Core Certbot runtime; certbot-nginx is now a thin wrapper registering the plugin.","package":"certbot","optional":false},{"reason":"Parsing Nginx configuration files; version >=3.0.0 required.","package":"pyparsing","optional":false}],"imports":[{"note":"Code was moved into private modules in certbot package in v5.5.0; internals are unstable.","wrong":"from certbot_nginx.configurator import NginxConfigurator","symbol":"NginxCompatibility","correct":"from certbot_nginx._internal.configurator import NginxConfigurator"},{"note":"Direct import from top-level package removed in v5.5.0.","wrong":"from certbot_nginx import NginxConfigurator","symbol":"NginxConfigurator","correct":"from certbot_nginx._internal.configurator import NginxConfigurator"}],"quickstart":{"code":"import subprocess\nimport sys\n\n# Unattended install of cert for example.com using certbot-nginx\nresult = subprocess.run([\n    sys.executable, '-m', 'certbot', '--nginx',\n    '-d', 'example.com',\n    '--non-interactive', '--agree-tos',\n    '-m', 'admin@example.com'\n], capture_output=True, text=True)\nprint(result.stdout)\nif result.returncode != 0:\n    print(result.stderr, file=sys.stderr)\n","lang":"python","description":"Run certbot with the Nginx plugin to obtain and install a TLS certificate. For production, ensure Nginx server blocks exist before running."},"warnings":[{"fix":"Switch imports to 'certbot_nginx._internal' or rely on certbot's extras: 'certbot[nginx]'.","message":"In v5.5.0, most certbot-nginx code was moved into private modules within the certbot package. Third-party code importing from certbot_nginx may break.","severity":"breaking","affected_versions":">=5.5.0"},{"fix":"Upgrade to Python 3.10+.","message":"Python 3.8 and 3.9 support dropped; requires Python >=3.10.","severity":"deprecated","affected_versions":"<5.5.0"},{"fix":"Run 'certbot --nginx --dry-run' first to preview changes.","message":"certbot-nginx modifies Nginx configuration files. Always backup your configs before running.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install certbot-nginx' and ensure it is in the same Python environment as certbot.","cause":"certbot-nginx plugin not installed or not registered.","error":"certbot: error: unrecognized arguments: --nginx"},{"fix":"Install with 'pip install certbot-nginx'.","cause":"Plugin package not installed.","error":"No module named 'certbot_nginx'"},{"fix":"Use 'from certbot_nginx._internal.configurator import NginxConfigurator'.","cause":"Importing from the top-level namespace which was removed in v5.5.0.","error":"AttributeError: module 'certbot_nginx' has no attribute 'NginxConfigurator'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}