Получить можно командой docker pull furriouswarrior/genssl
или собрать самому docker build -t genssl .
из корня папки.
Подробно про скрипт почитать можно на странице проекта https://github.com/Neilpang/acme.sh
docker run --rm -itd \
-v /etc/acme:/acme.sh \
--net=host \
--name=genssl \
furriouswarrior/genssl daemon
При данном режиме запуска файлы контейнера будут в папке /etc/acme хоста!
Вывести все команды
docker exec genssl --help
Получение сертификата стандартным способом, будет задействован 80 порт, данный вариант не особо интересен когда можно использовать api регистраторов или dns сервисов по типу cloudflare.
acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com
docker exec -it genssl /bin/ash
Если хотим изменить ключ cloudflare
nano /root/.acme.sh/dnsapi/dns_cf.sh
Меняем на свой api ключ и почту
CF_Key="dfdfdfdfdfdfdfdfdf" CF_Email="email@gmail.com"
RSA 2048 key
docker exec genssl --issue -d example.com -d '*.example.com' --accountemail "email@gmail.com" --dns dns_cf
ECC 256 key
docker exec genssl --issue -d example.com -d '*.example.com' --accountemail "email@gmail.com" --dns dns_cf --keylength ec-256
--dns dns_cf использовать api cloudflare
Так же мы можем при 1 выдаче явно указать переменные cloudflare.
docker exec genssl -e CF_Key="dfdfdfdfdfdfdfdfdf" -e CF_Email="email@gmail.com" --issue -d example.com -d '*.example.com' --accountemail "email@gmail.com" --dns dns_cf --keylength ec-256
# RSA certificates
ssl_certificate /etc/acme/example.com/fullchain.cer;
ssl_certificate_key /etc/acme/example.com/example.com.key;
#ssl_trusted_certificate ;
# ECDSA certificates
ssl_certificate /etc/acme/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/acme/example.com_ecc/example.com.key;
#ssl_trusted_certificate ;