Quale nome di variabile Let’s Encrypt è corretto in app.yml?

Ciao a tutti,

Durante una ricostruzione ho visto l’avviso:

“Email Let’s Encrypt non impostata”

Ma nel mio app.yml ho già questa riga:

LETSENCRYPT_ACCOUNT_EMAIL: myemail@example.com

Il mio certificato è valido e l’emissione è saltata. Il launcher stampa l’avviso corretto.

Prima di aggiornare qualsiasi cosa, qualcuno può confermare:

  • LETSENCRYPT_ACCOUNT_EMAIL è una variabile vecchia/legacy?

  • Il nome della variabile moderna corretta è ora:

letsencrypt_email:

Dovrei rimuovere la vecchia variabile e passare a quella nuova per evitare avvisi e garantire che il rinnovo automatico funzioni?

Grazie!

Grazie per le risposte finora: ho indagato un po’ di più e voglio verificare di aver capito correttamente.

La mia installazione è stata originariamente creata con ./discourse-setup, che ha aggiunto

LETSENCRYPT_ACCOUNT_EMAIL: myemail@example.com

sotto env: in app.yml.

Let’s Encrypt ha emesso e rinnovato i certificati con successo da allora, e l’attuale web.letsencrypt.ssl.template.yml sembra ancora fare affidamento sulla variabile d’ambiente LETSENCRYPT_ACCOUNT_EMAIL. Durante una nuova installazione di prova oggi ho visto l’output di bootstrap usuale:

I, [2025-12-07T12:29:22.272059 #1]  INFO -- : Replacing # after ssl with if [ -n "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then
  if [[ ! "$LETSENCRYPT_ACCOUNT_EMAIL" =~ ([^@]+)@([^\\.]+) ]]; then
    echo "LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address"
    exit 1
  fi
  /usr/local/bin/configure-ssl
  exec /usr/local/bin/configure-letsencrypt
else
  echo "LETSENCRYPT_ACCOUNT_EMAIL ENV not set. Skipping Let's Encrypt setup."
fi
# after ssl in /etc/runit/1.d/install-ssl

che corrisponde a quanto presente nel template.

Tuttavia, quando eseguo ./launcher rebuild app vedo ora un avviso simile a “Let’s Encrypt email not set”. Dalla lettura del launcher e della documentazione correlata, sembra provenire da un controllo di configurazione più recente che cerca una chiave letsencrypt_email nella configurazione unita, piuttosto che la variabile d’ambiente più vecchia LETSENCRYPT_ACCOUNT_EMAIL.

Quindi penso che la situazione attuale sia:

  1. Il template Let’s Encrypt di Docker utilizza ancora LETSENCRYPT_ACCOUNT_EMAIL come variabile d’ambiente che guida acme.sh e il rinnovo.
  2. Alcuni controlli più recenti (ad esempio, quello che stampa “Let’s Encrypt email not set”) cercano solo letsencrypt_email nella configurazione.
  3. Ciò spiegherebbe perché l’emissione/il rinnovo del certificato funziona bene mentre la ricostruzione stampa comunque un avviso.

Un paio di chiarimenti che vorrei ottenere dal team:

  1. Per le installazioni standard con ./discourse-setup, LETSENCRYPT_ACCOUNT_EMAIL è ancora il nome di variabile previsto in app.yml, o dovremmo usare letsencrypt_email invece?
  2. LETSENCRYPT_ACCOUNT_EMAIL è considerato obsoleto ma supportato a questo punto, o c’è un piano per migrare i template a una nuova chiave?
  3. Per le installazioni esistenti che attualmente utilizzano LETSENCRYPT_ACCOUNT_EMAIL e hanno rinnovi funzionanti, l’approccio consigliato è:
    • (a) non fare nulla e ignorare tranquillamente l’avviso del launcher, o
    • (b) aggiungere una voce letsencrypt_email: a env: (con lo stesso indirizzo) puramente per soddisfare il controllo più recente?

Sto cercando principalmente di mantenere la configurazione allineata con quella che è la “direzione ufficiale” ed evitare sorprese se l’integrazione Let’s Encrypt dovesse essere rifattorizzata in futuro.

Grazie ancora per la guida e per aver confermato cosa è previsto qui.

Sono abbastanza sicuro che non abbia importanza. Let’s Encrypt non invia più notifiche.

3 Mi Piace