• 11 Posts
  • 1.26K Comments
Joined 3 years ago
cake
Cake day: June 15th, 2023

help-circle





  • FWIW I’ve tried all the major CLI tools for cert renewal (certbot, lego, acme.sh) and certbot was by far the easiest to use. The others were various shades of horrible – bad documentation, obscure error messages, you name it. Wish I had tried certbot first and not wasted my time.

    You can find the magical incantations online and coax them to work eventually but they made me wonder if that’s the kind of tool I want to trust with my cert renewal. Also I’m starting to think it’s not a coincidence that other tools like NPM bundle certbot (as opposed to something else).


  • The dirs are subdirs of /srv/letsencrypt. I like to take advantage of explicit dir assignment if the software allows it, so I don’t have any surprises if the defaults change.

    ROOT=/srv/letsencrypt
    SECDIR="${ROOT}/secrets"
    CFGDIR="${ROOT}/config"
    LOGDIR="${ROOT}/logs"
    TMPDIR="${ROOT}/tmp"
    
    for DIR in "$SECDIR" "$CFGDIR" "$LOGDIR" "$TMPDIR"; do
            mkdir -p "$DIR"
    done
    
    cd "$ROOT"
    
    ... then venv activate and run venv certbot ...
    


  • lemmyvore@feddit.nltoSelfhosted@lemmy.worldLooking to move from Caddy
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    21 hours ago

    I’m also using Certbot with DeSEC. I simply run it daily with anacron. If it doesn’t need to renew the certs yet it will say so and stop. That’s basically it.

    I think it’s a very good idea for your LE renewal to be independent of whatever reverse proxy or web server you’re using.

    Please keep in mind that Certbot is a Python app so you can manage it with venv. Here’s how I install it in a dedicated dir (let’s say /srv/letsencrypt because using /etc is not appropriate and it bugs me 😆):

    #!/bin/bash
    set -e
    apt install python3-venv
    /usr/bin/python3 -m venv .venv
    source .venv/bin/activate
    python3 -m pip install --upgrade pip
    python3 -m pip install --upgrade certbot certbot-dns-desec
    

    And to update it:

    #!/bin/bash
    set -e
    source .venv/bin/activate
    python3 -m pip install --upgrade pip
    python3 -m pip install --upgrade certbot certbot-dns-desec
    

    As for renewing certs (the script is longer, I’m making sure to create dirs and so on but this is the gist of it):

    source .venv/bin/activate
    
    ./.venv/bin/certbot \
    --config-dir "$CFGDIR" \
    --logs-dir "$LOGDIR" \
    --work-dir "$TMPDIR" \
    --domain "${DOMAIN}" \
    --domain "*.${DOMAIN}" \
    --authenticator dns-desec \
    --dns-desec-credentials "${SECDIR}/${DOMAIN}.ini" \
    --non-interactive --agree-tos \
    --email "$EMAIL" \
    certonly
    
    openssl x509 -text -in "${CFGDIR}/live/${DOMAIN}/fullchain.pem" |\
    grep -e 'Not Before' -e 'Not After'
    

    For DeSEC you need secrets/${DOMAIN}.ini to contain:

    dns_desec_token = YOURTOKENHERE
    

    Please note that DeSEC lets you restrict what the token can do, but setting the rights on the token has to be done through their API so you need a separate token for the API 😅.

    To use the certs from Caddy, point it at the files under the config/live/${DOMAIN}/ dir (which are symlinks that are maintained by Certbot), NOT the ones under archive/.

    tls /path/to/certbot/config/live/example.com/fullchain.pem /path/to/certbot/config/live/example.com/privkey.pem
    

    Or, if you want to also add mTLS to the mix:

    tls /path/to/certbot/config/live/example.com/fullchain.pem /path/to/certbot/config/live/example.com/privkey.pem {
        client_auth {
            mode verify_if_given # or whatever access mode you want
            trust_pool file /path/to/custom/ca.pem
        }
    }
    

    Let me know if you have questions.







  • If you’re satified you’re probably not missing much.

    Most of the Arch-based distros have found a niche of their own and most of them try to offer varying levels of help to the user to sweeten the Spartan experience of vanilla Arch.

    Some of them like Endeavour try to keep the interference minimal, they offer some presets and some theming and an installer and stop there.

    Distros like Cachy and Garuda are somewhere in the middle, with some quality of life stuff such as graphical package installers, and some custom packages, and streamlined driver install.

    A distro like Manjaro or SteamOS takes it to the extreme with a “mommy knows best” setup that only bears a tenuous resemblance to vanilla Arch anymore, and you have to leave it alone to work as intended.




  • The main limitation in a 1U chassis is the size of the heatsink + fan. They’re typically 80x80mm width/length, and the height is very small. You get 45mm for the whole case so you have to work with a slim (15mm) 80x80 fan and a tiny heatsink that’s 10mm or so. So they have to work at 5000rpm and put out 60dB of noise but even so they’re typically only rated for 80-100W.

    I other words I really don’t think it’s worth bothering for a 250W draw. If you can get a 2U space yeah, that gives you much better cooling options.