-
-
Notifications
You must be signed in to change notification settings - Fork 5k
Run acme.sh in docker
GC Chen edited this page Jul 11, 2024
·
20 revisions
As one of the big docker fans, I understand that we hate installing anything on a docker host, even if it's just copying a shell script.
Automated nginx reverse proxy docker image with acme.sh for letsencrypt ssl cert: https://github.com/Neilpang/letsproxy
Deploy to a docker container and reload it: https://github.com/Neilpang/acme.sh/wiki/deploy-to-docker-containers
So, Here "acme.sh in docker" comes.
- Based on alpine, only 5MB size.
- Either run as executable or run as daemon
- Support all the command line parameters.
docker run --rm neilpang/acme.sh
docker run --rm -it \
-v "$(pwd)/out":/acme.sh \
--net=host \
neilpang/acme.sh --issue -d example.com --standalone
You can use any commands that acme.sh supports here, other examples:
#revoke a cert
docker run --rm -it \
-v "$(pwd)/out":/acme.sh \
--net=host \
neilpang/acme.sh --revoke -d example.com
#use dns mode
docker run --rm -it \
-v "$(pwd)/out":/acme.sh \
neilpang/acme.sh --issue --dns -d example.com
#run cron job
docker run --rm -it \
-v "$(pwd)/out":/acme.sh \
--net=host \
neilpang/acme.sh --cron
Anyway, you can just invoke neilpang/acme.sh image as if it were a real shell script.
docker run --rm -itd \
-v "$(pwd)/out":/acme.sh \
--net=host \
--name=acme.sh \
neilpang/acme.sh daemon
Or run acme.sh by using Docker Compose
.
Edit docker-compose.yml
:
services:
acme-sh:
image: neilpang/acme.sh
container_name: acme.sh
volumes:
- ./out:/acme.sh
network_mode: host
command: daemon
stdin_open: true
tty: true
restart: no
Then run acme.sh:
docker compose up -d
docker exec acme.sh --help
docker exec acme.sh --issue -d example.com --standalone
Yes, again, You can use any commands that acme.sh supports here.
Buy me a beer, Donate to acme.sh if it saves your time. Your donation makes acme.sh better: https://donate.acme.sh/
如果 acme.sh 帮你节省了时间,请考虑赏我一杯啤酒🍺, 捐助: https://donate.acme.sh/ 你的支持将会使得 acme.sh 越来越好. 感谢