# Let's Encrypt Use [acme.sh](https://github.com/Neilpang/acme.sh/) for wholly self-contained Let's Encrypt certificates. This assumes CloudFlare DNS is used for authentication. **NOTE:** You probably want to use a DNS provider/API so you don't have to expose a service to the outside world. **NOTE:** You may want to use a filesystem on a USB disk instead of /var for the volumes setup in the below Docker command(s) to help reduce writes to the micro sd card. ## Domains ### Top Level Domain (TLD) ideas - .zone - .host - .travel - .link - .online - .net - .tech - .club ### Registrar suggestions - [http://namecheap.com/](http://namecheap.com/) - [https://uniregistry.com/](https://uniregistry.com/) ## Dependencies ``` bash apt update apt install jq ``` ## Prep Grab the acme.sh Dockerfile and update it to work with arm (32 or 64). ``` bash mkdir -p /scratch/docker/acme.sh cd /scratch/docker/acme.sh wget https://raw.githubusercontent.com/Neilpang/acme.sh/master/Dockerfile sed -i '1s/^/ARG ALPINE=alpine:3.6\n/' Dockerfile sed -i '/FROM/c\FROM $ALPINE' Dockerfile mkdir /var/acme.sh chmod 700 /var/acme.sh ``` ## Setup / Run Setup a basic update/run script with the adjusted upstream Dockerfile ``` bash cat > /scratch/docker/acme.sh/acme.sh <