I've seen many documentation of using
certbot for renewing the certificates via
certbot renew. There were also other documentations but with
certbot-auto. I'm confused, what is the actual difference between certbot and certbot-auto?
The source of the file (at https://github.com/certbot/certbot/blob/master/certbot-auto like Stephen wrote) clearly shows:
Download and run the latest release version of the Certbot client.
certbot-auto is a wrapper around
certbot, as explained later in comments:
USAGE="Usage: $BASENAME [OPTIONS] A self-updating wrapper script for the Certbot ACME client. When run, updates to both this script and certbot will be downloaded and installed. After ensuring you have the latest versions installed, certbot will be invoked with all arguments you have provided.
So it is "just" the normal
certbot command plus before running it pulling down updates.
The official documentation at https://certbot.eff.org/docs/using.html tells you this:
The certbot script on your web server might be named letsencrypt if your system uses an older package, or certbot-auto if you used an alternate installation method. Throughout the docs, whenever you see certbot, swap in the correct name as needed.
It all depends how you installed
certbot. If you used your OS packages, you are probably better just keeping them as official truth and hence not using
certbot-auto in order not to update anything out of the packages.
Even if you installed
certbot yourself manually, you may want to control exactly when it is updated (any new update can change behaviours, introduce new flags or deprecate ones, etc.) so you may want to separate day to do day operations (hence using only
certbot) from when you really want explicitely to download updates (hence using