Adds a template for CertMate (~1.2k stars, actively maintained), an SSL certificate management system with a web UI and REST API that automates issuing and renewing Let's Encrypt certificates via DNS-01 challenges across 20+ DNS providers.
Image: fabriziosalmi/certmate:2.21.3 (Docker Hub, amd64 + arm64, published 2026-07-07)
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Dokploy/templates/pull/1023
**Author:** [@Siumauricio](https://github.com/Siumauricio)
**Created:** 7/14/2026
**Status:** ✅ Merged
**Merged:** 7/14/2026
**Merged by:** [@Siumauricio](https://github.com/Siumauricio)
**Base:** `canary` ← **Head:** `feat/certmate`
---
### 📝 Commits (1)
- [`a266e36`](https://github.com/Dokploy/templates/commit/a266e36a4d6afb33cc61600a5fd3fe24d10176b5) feat: add CertMate template
### 📊 Changes
**5 files changed** (+84 additions, -0 deletions)
<details>
<summary>View changed files</summary>
➕ `blueprints/certmate/docker-compose.yml` (+33 -0)
➕ `blueprints/certmate/instructions.md` (+13 -0)
➕ `blueprints/certmate/logo.png` (+0 -0)
➕ `blueprints/certmate/meta.json` (+18 -0)
➕ `blueprints/certmate/template.toml` (+20 -0)
</details>
### 📄 Description
## Summary
Adds a template for [CertMate](https://github.com/fabriziosalmi/certmate) (~1.2k stars, actively maintained), an SSL certificate management system with a web UI and REST API that automates issuing and renewing Let's Encrypt certificates via DNS-01 challenges across 20+ DNS providers.
- Image: `fabriziosalmi/certmate:2.21.3` (Docker Hub, amd64 + arm64, published 2026-07-07)
- Based on the official [docker-compose.yml](https://github.com/fabriziosalmi/certmate/blob/main/docker-compose.yml) and [Docker deployment docs](https://www.certmate.org/docs/docker-deployment.html)
- `SECRET_KEY` and `API_BEARER_TOKEN` are auto-generated (`${password:32}`); `BEHIND_PROXY=true` since the app runs behind Traefik
- Persistent volumes for certificates, data, logs and backups
- `instructions.md` explains logging in with the generated bearer token and configuring DNS providers
## Test evidence (deployed on a Dokploy instance)
```
deploy: done (31s)
✅ certmate:8000 → HTTP 200 «Login - CertMate»
GET /health → 200 {"status":"healthy","version":"2.21.3","checks":{"scheduler":"running",...}}
GET /api/certificates with generated bearer token → 200
GET /api/certificates without token → 401 (auth enforced)
```
`node build-scripts/generate-meta.js --check` → 477 templates validated.
Closes #723
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/1023
Author: @Siumauricio
Created: 7/14/2026
Status: ✅ Merged
Merged: 7/14/2026
Merged by: @Siumauricio
Base:
canary← Head:feat/certmate📝 Commits (1)
a266e36feat: add CertMate template📊 Changes
5 files changed (+84 additions, -0 deletions)
View changed files
➕
blueprints/certmate/docker-compose.yml(+33 -0)➕
blueprints/certmate/instructions.md(+13 -0)➕
blueprints/certmate/logo.png(+0 -0)➕
blueprints/certmate/meta.json(+18 -0)➕
blueprints/certmate/template.toml(+20 -0)📄 Description
Summary
Adds a template for CertMate (~1.2k stars, actively maintained), an SSL certificate management system with a web UI and REST API that automates issuing and renewing Let's Encrypt certificates via DNS-01 challenges across 20+ DNS providers.
fabriziosalmi/certmate:2.21.3(Docker Hub, amd64 + arm64, published 2026-07-07)SECRET_KEYandAPI_BEARER_TOKENare auto-generated (${password:32});BEHIND_PROXY=truesince the app runs behind Traefikinstructions.mdexplains logging in with the generated bearer token and configuring DNS providersTest evidence (deployed on a Dokploy instance)
node build-scripts/generate-meta.js --check→ 477 templates validated.Closes #723
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.