Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/horjulf/docker-certbot_cloudflare

Docker image providing certbot with Cloudflare plugin
https://github.com/horjulf/docker-certbot_cloudflare

certbot certificate cloudflare docker letsencrypt

Last synced: 3 months ago
JSON representation

Docker image providing certbot with Cloudflare plugin

Awesome Lists containing this project

README

        

# Certbot Cloudflare
[![GitHub forks](https://img.shields.io/github/forks/horjulf/docker-certbot_cloudflare.svg?style=social&label=Fork&style=flat-square)](https://github.com/horjulf/docker-certbot_cloudflare)
[![Docker Pulls](https://img.shields.io/docker/pulls/horjulf/certbot-cloudflare.svg)](https://hub.docker.com/r/horjulf/certbot-cloudflare/)
[![](https://images.microbadger.com/badges/image/horjulf/certbot-cloudflare.svg)](https://microbadger.com/images/horjulf/certbot-cloudflare)

This image provides the official Certbot utility with the Cloudflare DNS plugin builtin.

## Usage

- Create local directories where lets encrypt files(keys, certs, renewal config, etc) and logs will be stored.

- Create a .ini file with Cloudflare API credentials:
```
dns_cloudflare_email=
dns_cloudflare_api_key=
```

- Run/create the container with the added volumes and the certbot arguments:
```
docker run --interactive --tty \
-v :/etc/letsencrypt \
-v :/var/log/letsencrypt \
-v :/etc/cloudflare.ini:ro \
horjulf/certbot-cloudflare \

```

### Examples

- Request a certificate:
```
docker run --interactive --tty \
-v :/etc/letsencrypt \
-v :/var/log/letsencrypt \
-v :/etc/cloudflare.ini:ro \
horjulf/certbot-cloudflare \
certonly --dns-cloudflare --dns-cloudflare-credentials /etc/cloudflare.ini -m --agree-tos --no-eff-email -d
```

- Renew existing certificates:
```
docker run --interactive --tty \
-v :/etc/letsencrypt \
-v :/var/log/letsencrypt \
-v :/etc/cloudflare.ini:ro \
horjulf/certbot-cloudflare \
renew --dns-cloudflare-credentials /etc/cloudflare.ini
```

- Cron usable container for renewal:
```
docker create \
--name=certbot_cloudflare_renew
-v :/etc/letsencrypt \
-v :/var/log/letsencrypt \
-v :/etc/cloudflare.ini:ro \
horjulf/certbot-cloudflare \
renew --dns-cloudflare-credentials /etc/cloudflare.ini --quiet
```
```
docker start -a certbot_cloudflare_renew
```