CloudflareSSL

CloudflareSSL

Docker app from JohnnyP's Repository

Overview

A small Docker container that generates Let's Encrypt certificates for Unraid using the Cloudflare API allowing to avoid "this page is not secure" warnings when connecting to Unraid locally.

Cloudflare SSL for Unraid

This container is intended for requesting Let's Encrypt certificates using certbot and DNS Challenge via the Cloudflare API in order to make Unraid available via a trusted SSL connecting without the need to expose any ports or run a proxy. This project is based on the work of https://github.com/serversideup/docker-certbot-dns-cloudflare.

Docker Image Size
tenasi/cloudflaressl Docker Image Size

Base Image

The image is based on https://github.com/serversideup/docker-certbot-dns-cloudflare which is based on certbot/dns-cloudflare:latest, providing a stable and up-to-date environment for running Certbot with Cloudflare DNS authentication.

Environment Variables

The following environment variables can be used to customize the Certbot container:

Variable Description Default Value
CERTBOT_DOMAINS Comma-separated list of domains for which to obtain the certificate -
CERTBOT_EMAIL Email address for Let's Encrypt notifications -
CERTBOT_KEY_TYPE Type of private key to generate ecdsa
CERTBOT_SERVER The ACME server URL https://acme-v02.api.letsencrypt.org/directory
CLOUDFLARE_API_TOKEN Cloudflare API token for DNS authentication (see below how to create one) -
CLOUDFLARE_CREDENTIALS_FILE Path to the Cloudflare credentials file. /cloudflare.ini
CLOUDFLARE_PROPAGATION_SECONDS Wait time (in seconds) after setting DNS TXT records before validation. Useful if DNS propagation is slow. 10
DEBUG Enable debug mode (prints more information to the console) false
PUID The user ID to run certbot as 0
PGID The group ID to run certbot as 0
RENEWAL_INTERVAL Interval between certificate renewal checks. Set to 0 to disable renewals and only run once. 43200 seconds (12 hours)
REPLACE_SYMLINKS Replaces symlinks with direct copies of the files they reference (required for Windows) false

Creating a Cloudflare API Token

[!WARNING]
Treat this token like a password. It will grant access to your Cloudflare account and can be used to modify DNS records.

  1. Go to the Cloudflare API Tokens page.
  2. Click on "Create Token".
  3. Click "Use template" for the "Edit Zone DNS" template.
  4. Change the token name (optional)
  5. Set a specific zone under "Zone Resources" (optional)
  6. Click on "Continue to summary".
  7. Click on "Create Token".

Install CloudflareSSL on Unraid in a few clicks.

Find CloudflareSSL in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for CloudflareSSL Review the template variables and paths Click Install

Download Statistics

1,044
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
tenasi/cloudflaressl:latest
Last Updated2026-01-25
First Seen2026-01-24

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

Cloudflare API TokenVariable

Token to authenticate against the Cloudflare API endpoint.

Target
CLOUDFLARE_API_TOKEN
EmailVariable

Email address for Let's Encrypt notifications.

Target
CERTBOT_EMAIL
DomainsVariable

Comma-separated list of domains for which to obtain the certificate.

Target
CERTBOT_DOMAINS
Key TypeVariable

Type of private key to generate (e.g. ecdsa, rsa).

Target
CERTBOT_KEY_TYPE
Default
ecdsa
Renewal IntervalVariable

Interval between certificate renewal checks. Set to 0 to disable renewals and only run once.

Target
RENEWAL_INTERVAL
Default
43200
Unraid SSL BundlePathrw

Path to the Unraid SSL bundle file. This should be stored in /boot/config/ssl/certs/HOSTNAME_unraid_bundle.pem

Target
/etc/ssl/unraid_bundle.pem
Default
/boot/config/ssl/certs/HOSTNAME_unraid_bundle.pem
Lets Encrypt Config PathPathrw
Target
/etc/letsencrypt
Default
/mnt/user/appdata/cloudflaressl
Value
/mnt/user/appdata/cloudflaressl/