certbot-azure-dns
Docker image for Certbot with Azure DNS plugin support
966
A Docker image for Certbot with Azure DNS plugin support. This image extends the official Certbot image and includes the certbot-dns-azure plugin and its dependencies.
The image is available on Docker Hub as:
janschumann/certbot-azure-dns
This project builds multiple image variants:
Latest variant (unpinned):
certbot/certbot:latestcertbot-dns-azure (latest version)azure-mgmt-dns (latest version)Versioned variants (pinned):
certbot/certbot:v5.1.0certbot-dns-azure==2.6.1 - Azure DNS plugin for Certbotazure-mgmt-dns==8.2.0 - Azure DNS management libraryAdditional versioned variants are added as new Certbot versions or plugin updates are released.
You can pull different tag variants depending on your needs:
# Latest variant (unpinned, tracks latest versions)
docker pull janschumann/certbot-azure-dns:latest
# Specific Certbot version (latest build for that version)
docker pull janschumann/certbot-azure-dns:5.1.0
# Certbot version + Azure plugin version
docker pull janschumann/certbot-azure-dns:5.1.0-azure2.6.1
# Full specification (Certbot + all plugin versions)
docker pull janschumann/certbot-azure-dns:5.1.0-azure2.6.1-azmgmt8.2.0
# Major/minor version aliases (point to latest in that range)
docker pull janschumann/certbot-azure-dns:5.1
docker pull janschumann/certbot-azure-dns:5
Tag format: <certbot-version>[-azure<plugin-version>][-azmgmt<mgmt-version>]
Example usage with Azure credential file:
docker run -it --rm --name certbot \
-v "/path/to/azure.ini:/root/azure.ini" \
-v "/path/to/etc/letsencrypt:/etc/letsencrypt" \
-v "/path/to/var/lib/letsencrypt:/var/lib/letsencrypt" \
-v "/path/to/var/log:/var/log" \
janschumann/certbot-azure-dns certonly \
--authenticator dns-azure \
--preferred-challenges dns \
--noninteractive \
--agree-tos \
--dns-azure-config /root/azure.ini \
--register-unsafely-without-email \
--keep-until-expiring \
--domains foo.example.com
The Azure credential file (azure.ini) should look like:
Single zone configuration:
dns_azure_client_id = your-client-id
dns_azure_client_secret = your-client-secret
dns_azure_tenant_id = your-tenant-id
dns_azure_resource_group = your-resource-group
Multiple zones configuration:
dns_azure_sp_client_id = '<client id>'
dns_azure_sp_client_secret = '<client secret>'
dns_azure_tenant_id = '<tenant id>'
dns_azure_environment = "AzurePublicCloud"
dns_azure_zone1 = foo.example.com:/subscriptions/<subscription-id>/resourceGroups/<resource-group>
dns_azure_zone2 = example.com:/subscriptions/<subscription-id>/resourceGroups/<resource-group>
Replace <subscription-id> and <resource-group> with your Azure subscription ID and resource group name respectively.
To build the image locally, you can use build arguments to specify versions:
# Build latest variant (unpinned)
docker build -t janschumann/certbot-azure-dns:latest \
--build-arg CERTBOT_VERSION=latest \
--build-arg CERTBOT_DNS_AZURE_VERSION= \
--build-arg AZURE_MGMT_DNS_VERSION= .
# Build versioned variant
docker build -t janschumann/certbot-azure-dns:5.1.0 \
--build-arg CERTBOT_VERSION=v5.1.0 \
--build-arg CERTBOT_DNS_AZURE_VERSION=2.6.1 \
--build-arg AZURE_MGMT_DNS_VERSION=8.2.0 .
This project uses a versioning scheme aligned with the upstream Certbot version:
<certbot-version>[-azure<plugin-version>][-azmgmt<mgmt-version>]5.1.0 - Latest build for Certbot 5.1.05.1.0-azure2.6.1 - Certbot 5.1.0 with certbot-dns-azure 2.6.15.1.0-azure2.6.1-azmgmt8.2.0 - Full version specification5.1 - Latest 5.1.x build5 - Latest 5.x.x buildlatest - Unpinned variant (uses latest Certbot and plugins)When Certbot or plugins are updated, new version combinations are added to the build matrix.
This project uses GitHub Actions to automatically build and push Docker images:
Automated builds:
main branch: Build all matrix combinations and push images to Docker HubDocker Hub integration:
main5.1.05.1.0-azure2.6.15.1.0-azure2.6.1-azmgmt8.2.05.1, 5 (point to latest in that range)To enable Docker Hub pushes, you need to configure GitHub secrets with a Docker Hub Personal Access Token (PAT):
Create a Docker Hub Personal Access Token:
Add GitHub Secrets:
DOCKER_USERNAME: Your Docker Hub usernameDOCKER_PASSWORD: Your Docker Hub Personal Access Token (not your password)Note: Docker Hub requires Personal Access Tokens (PAT) for API access. Regular passwords will not work.
To use the Azure DNS plugin, you need:
This project extends the Certbot Docker image and follows the same licensing as the upstream project.
Content type
Image
Digest
sha256:44776548d…
Size
82.3 MB
Last updated
8 months ago
docker pull janschumann/certbot-azure-dns:5