{% extends "base.html" %} {% block title %}SSL Manager{% endblock %} {% block body %}
SECURITY / LET'S ENCRYPT

SSL Manager

Issue, renew, revoke and remove certificates with Certbot. Track expiry and enforce HTTPS.

Certbot {{'READY' if certbot else 'NOT INSTALLED'}}{% if not certbot and admin_mode %}Install Certbot{% endif %}
CERTIFICATES{{certificates|length}}Managed websites
VALID{{certificates|selectattr('status','equalto','valid')|list|length}}Healthy certificates
EXPIRING{{certificates|selectattr('status','equalto','expiring')|list|length}}30 days or less
AUTO RENEW{{certificates|selectattr('auto_renew','equalto',1)|list|length}}Automatic renewal enabled
{% if not certbot %}
Certbot is required for Let's Encrypt issue, renew and revoke operations. Install Certbot from App Store first. The manager remains safe and read-only until it is available.
{% endif %}
LET'S ENCRYPT

Managed certificates

Automatic renewal twice daily
{% for r in certificates %} {% else %}{% endfor %}
DOMAINSTATUSEXPIRYAUTO RENEWHTTPSACTIONS
{{r.domain}}
{{r.webserver|upper}} ยท {{r.username}}
{{r.status|upper}} {% if r.expires_at %}{{r.days_left}} days
{{r.expires_at}}
{% else %}No certificate{% endif %}
{% if r.status in ['missing','expired','revoked','error'] %}
{% else %}
{% endif %}
No managed SSL certificates yet. Add a website first, then issue a Let's Encrypt certificate.
ISSUE CERTIFICATE

Websites without SSL

Webroot validation
{% for w in websites %}{% set found = certificates|selectattr('website_id','equalto',w.id)|list %}{% if not found or found[0].status in ['missing','expired','revoked','error'] %}{% endif %}{% else %}{% endfor %}
DOMAINACCOUNTWEBROOTACTION
{{w.domain}}{{w.username if w.username is defined else ''}}{{w.document_root}}
All enabled websites already have a managed certificate.
{% endblock %}