diff --git a/templates/letsencrypt/0/README.md b/templates/letsencrypt/0/README.md
new file mode 100644
index 0000000..f16a1da
--- /dev/null
+++ b/templates/letsencrypt/0/README.md
@@ -0,0 +1,22 @@
+# Let's Encrypt Certificate Manager
+
+### About
+
+The Let's Encrypt Certificate Manager obtains a free (SAN) SSL Certificate from the [Let's Encrypt CA](https://letsencrypt.org/) and adds it to Rancher's certificate store. Once the certificate is created it is scheduled for auto-renewal 14-days before expiration. The renewed certificate is propagated to all applicable load balancer services.
+
+### Usage
+
+ 1. Accept the terms of service.
+ 2. Select the API version to use. The Sandbox API should be used for testing purposes.
+ 3. Fill in your email address.
+ 4. Enter one or more domain names in the 'Domain Names' field.
+ 5. Select the DNS provider which manages the DNS zone(s) for all entered domains.
+ 5. Fill in the required credentials for the chosen DNS provider.
+ 6. Click 'Launch'.
+
+
+If you want your certificate to be automatically renewed leave the service running. Otherwise you may remove the service once the certificate has appeared in Rancher's certificate store.
+
+### Suggestions & issue reports
+
+Please submit suggestions or any issues you find to the [rancher-letsencrypt](https://github.com/janeczku/rancher-letsencrypt) GitHub repo.
\ No newline at end of file
diff --git a/templates/letsencrypt/0/docker-compose.yml b/templates/letsencrypt/0/docker-compose.yml
new file mode 100644
index 0000000..c5ebc58
--- /dev/null
+++ b/templates/letsencrypt/0/docker-compose.yml
@@ -0,0 +1,19 @@
+letsencrypt:
+ image: janeczku/rancher-letsencrypt:v0.2.5
+ environment:
+ EULA: ${EULA}
+ API_VERSION: ${API_VERSION}
+ EMAIL: ${EMAIL}
+ DOMAINS: ${DOMAINS}
+ PUBLIC_KEY_TYPE: ${PUBLIC_KEY_TYPE}
+ RENEWAL_TIME: ${RENEWAL_TIME}
+ PROVIDER: ${PROVIDER}
+ CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL}
+ CLOUDFLARE_KEY: ${CLOUDFLARE_KEY}
+ DO_ACCESS_TOKEN: ${DO_ACCESS_TOKEN}
+ AWS_ACCESS_KEY: ${AWS_ACCESS_KEY}
+ AWS_SECRET_KEY: ${AWS_SECRET_KEY}
+ DEBUG: false
+ labels:
+ io.rancher.container.create_agent: 'true'
+ io.rancher.container.agent.role: 'environment'
diff --git a/templates/letsencrypt/0/rancher-compose.yml b/templates/letsencrypt/0/rancher-compose.yml
new file mode 100644
index 0000000..19ada0d
--- /dev/null
+++ b/templates/letsencrypt/0/rancher-compose.yml
@@ -0,0 +1,85 @@
+.catalog:
+ name: "Let's Encrypt"
+ version: 0.2.5
+ description: "Trusted SSL certificates at zero cost"
+ minimum_rancher_version: v0.63.0
+ questions:
+ - variable: "EULA"
+ label: "I Agree to the Let's Encrypt TOS"
+ description: "Read https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf"
+ required: true
+ type: "enum"
+ options:
+ - "Yes"
+ - "No"
+ - variable: "API_VERSION"
+ label: "Let's Encrypt API Version"
+ description: "Select the API version used for issuing the certificate. Use 'Sandbox' for testing only."
+ required: true
+ type: "enum"
+ default: "Production"
+ options:
+ - "Production"
+ - "Sandbox"
+ - variable: "EMAIL"
+ label: "Your Email Address"
+ description: "Enter the email address to be associated with the Let's Encrypt account."
+ required: true
+ type: "string"
+ - variable: "DOMAINS"
+ label: "Domain Names"
+ description: "Comma delimited list of domain names, e.g.: 'devs.example.com, staging.example.com'."
+ required: true
+ type: "string"
+ - variable: "PUBLIC_KEY_TYPE"
+ label: "Public Key Algorithm"
+ description: "Select one of the supported key types."
+ required: true
+ type: "enum"
+ default: RSA-2048
+ options:
+ - RSA-2048
+ - RSA-4096
+ - RSA-8192
+ - ECDSA-256
+ - ECDSA-384
+ - variable: "RENEWAL_TIME"
+ label: "Renewal Time of Day (00-23)"
+ description: "Set the time of day (UTC in hours) at which certificate renewals should run."
+ default: 12
+ required: true
+ type: int
+ - variable: "PROVIDER"
+ label: "DNS Provider"
+ description: "Select the DNS provider used for domain verification."
+ required: true
+ type: "enum"
+ options:
+ - CloudFlare
+ - DigitalOcean
+ - Route53
+ - variable: "AWS_ACCESS_KEY"
+ label: "AWS Access Key"
+ description: "Enter the Access Key for your AWS account."
+ type: "string"
+ required: false
+ - variable: "AWS_SECRET_KEY"
+ label: "AWS Secret Key"
+ description: "Enter the Secret Key for your AWS account."
+ type: "string"
+ required: false
+ - variable: "CLOUDFLARE_EMAIL"
+ label: "CloudFlare Email Address"
+ description: "Enter the email address associated with your CloudFlare account."
+ type: "string"
+ required: false
+ - variable: "CLOUDFLARE_KEY"
+ label: "CloudFlare API Key"
+ description: "Enter the Global API Key for your CloudFlare account."
+ type: "string"
+ required: false
+ - variable: "DO_ACCESS_TOKEN"
+ label: "DigitalOcean API Access Token"
+ description: "Enter the Personal Access Token for your DigitalOcean account."
+ type: "string"
+ required: false
diff --git a/templates/letsencrypt/catalogIcon-letsencrypt0.svg b/templates/letsencrypt/catalogIcon-letsencrypt0.svg
new file mode 100644
index 0000000..014daab
--- /dev/null
+++ b/templates/letsencrypt/catalogIcon-letsencrypt0.svg
@@ -0,0 +1,41 @@
+
+
+
\ No newline at end of file
diff --git a/templates/letsencrypt/config.yml b/templates/letsencrypt/config.yml
new file mode 100644
index 0000000..f2dfd3b
--- /dev/null
+++ b/templates/letsencrypt/config.yml
@@ -0,0 +1,8 @@
+name: "Let's Encrypt"
+description: |
+ Trusted SSL certificates at zero cost
+version: 0.2.5
+category: Security
+maintainer: "Jan Broer "
+license: The MIT License
+projectURL: http://www.github.com/janeczku/rancher-letsencrypt