Skip to content

Write instructions for installing Certbot from source #8422

@bmw

Description

@bmw

This issue is intended for https://github.com/certbot/website.

While installing the Certbot snaps or Docker images provides a way for most people to get an up-to-date version of Certbot directly from us, that's not an option everywhere. If a person doesn't use those options, what should we tell them?

The best option I think we have right now is essentially telling them how to "install Certbot from source". This option will be much more manual work than something like snaps, but it's certainly possible. (If someone has an idea they like better, by all means propose it.)

Exactly what these instructions should look like is a bit of an open question, but to throw some ideas out there as a starting point:

  • I would start with the simplest reasonable version of instructions like this and we can expand on it as we need/want to.
  • I think we probably want to make it clear the level of support we'll provide for this use case. If something like cryptopgraphy fails to compile on an obscure or heavily customized system, how much time are we really able to invest in helping them work through this?
  • The user will need at least Python 3.6+, packages for compiling cryptography if they're on a non-x86_64 system, and Augeas for the Apache plugin. See https://certbot.eff.org/docs/contributing.html#running-a-local-copy-of-the-client.
  • We should make sure the instructions do not cause conflicts with other Python packages on the user's system (e.g. no sudo pip install).
  • How does the user install plugins?
  • Consider using something like pipx to cleanly install a Certbot executable in a virtual environment. My biggest concern here personally is how annoying is it to get plugins in that same virtual environment and update everything in the future? Is that headache worth it?
  • In the future, I think we may want to offer a requirements/constraints file to pin our dependencies to exact versions, but I'd personally leave this out for now. We test with many versions of our dependencies, including the latest offered on PyPI, every night.
  • How should the user update their Certbot installation? This can maybe be left out of the initial version.

If someone other than me ends up working on this, I'm happy to help brainstorm about all this.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions