Citadel Let's Encrypt certificate authority setup

Signed TLS certificates are now available at no cost from the nonprofit Let’s Encrypt Certificate Authority. To use these on a Citadel system, you will need the Certbot utility installed.

export CIT_DOMAIN_NAME=mail.example.net

certbot certonly --agree-tos --non-interactive --text --rsa-key-size 4096 \
	--email admin@${CIT_DOMAIN_NAME} \
	--webroot --webroot-path /usr/local/webcit \
	--domains ${CIT_DOMAIN_NAME}
cp /etc/letsencrypt/live/${CIT_DOMAIN_NAME}/privkey.pem /usr/local/citadel/keys/citadel.key 
cp /etc/letsencrypt/live/${CIT_DOMAIN_NAME}/fullchain.pem /usr/local/citadel/keys/citadel.cer

Now create these two files.

cat /etc/letsencrypt/renewal-hooks/pre/citadel.sh

#!/bin/sh
docker stop citadel
# cat /etc/letsencrypt/renewal-hooks/post/citadel.sh

#!/bin/sh
cp /etc/letsencrypt/live/${CIT_DOMAIN_NAME}/fullchain.pem /usr/local/citadel/keys/citadel.cer
cp /etc/letsencrypt/live/${CIT_DOMAIN_NAME}/privkey.pem /usr/local/citadel/keys/citadel.key
wait
docker start citadel