# certmate **Repository Path**: stonebox/certmate ## Basic Information - **Project Name**: certmate - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-14 - **Last Updated**: 2026-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CertMate - Certificate Lifecycle Management
**CertMate** is a self-hosted certificate lifecycle management platform: it issues and renews TLS certificates, **discovers the ones you did not issue**, keeps a single inventory of what exists across your estate — what is served where, who issued it, when it expires, which cryptography it uses — and deploys renewed certificates to where they are needed. It supports 29 DNS providers, runs its own private CA for internal names, keeps a tamper-evident audit trail of every operation, and exposes all of it through a REST API.
[](https://demo.certmate.org)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://hub.docker.com/)
[](#api-usage)
[](https://pypi.org/project/certmate-cli/)
[](https://github.com/fabriziosalmi/certmate/actions/workflows/ci.yml)
[](https://github.com/fabriziosalmi/certmate/actions/workflows/docker-multiplatform.yml)
[](https://github.com/fabriziosalmi/certmate/actions/workflows/codeql.yml)
[](https://securityscorecards.dev/viewer/?uri=github.com/fabriziosalmi/certmate)
[](https://codecov.io/gh/fabriziosalmi/certmate)
[](https://europeanopensource.eu/)
[](https://news.ycombinator.com/item?id=44427452)
[](https://www.reddit.com/r/selfhosted/comments/1lkvbcj/ssl_certificates_automation/)
[](https://mastodon.social/@nixCraft/114799880340326467)
[](https://www.linkedin.com/posts/labyrinthlabs_github-fabriziosalmicertmate-ssl-certificate-activity-7434531689097248768-Ac63)

[Quick Start](#quick-start-with-docker) • [CLI](#command-line-interface) • [Documentation](#documentation) • [Installation](#installation-methods) • [DNS Providers](#supported-dns-providers) • [CA Providers](docs/ca-providers.md) • [Storage Backends](#certificate-storage-configuration) • [Backup and Recovery](#backup-and-recovery) • [API Reference](#api-usage)
on `.
Paste the clipboard contents into the issue body, edit if you want, submit. The flow is fully manual — nothing leaves the install without your explicit click, and you can read everything before submitting (it's right there in the textarea). If your browser blocks the clipboard write or pop-ups, the reporter falls back to a modal with the markdown in an editable textarea and a clickable GitHub link.
### Support Checklist (manual reporting)
If the in-app reporter is unavailable (you're not signed in as admin, or you hit the bug before reaching the UI), please provide:
- [ ] CertMate version/commit hash
- [ ] DNS provider being used
- [ ] Error messages from logs
- [ ] Steps to reproduce the issue
- [ ] Environment details (Docker, Python version, OS)
```bash
# Collect system information manually (equivalent of the in-app snapshot)
echo "=== CertMate Debug Info ==="
echo "Version: $(docker exec certmate python -c 'import modules; print(modules.__version__)')"
echo "Python: $(docker exec certmate python --version)"
echo "OS: $(docker exec certmate cat /etc/os-release | head -2)"
echo "Certbot: $(docker exec certmate certbot --version)"
echo "DNS Plugins: $(docker exec certmate pip list | grep certbot-dns)"
# DO NOT paste settings.json verbatim into a public issue — it contains
# credentials. The /api/diagnostics/snapshot endpoint returns a redacted
# subset; use it instead:
curl -sS -H "Authorization: Bearer $TOKEN" http://localhost:8000/api/diagnostics/snapshot | jq .
```
## Documentation
### Complete Documentation Set
| Document | Description | Target Audience |
| -------------------------------------------------- | ----------------------------------- | --------------------- |
| **[README.md](README.md)** | Main documentation and quick start | All users |
| **[docs/installation.md](docs/installation.md)** | Installation and deployment | System administrators |
| **[docs/dns-providers.md](docs/dns-providers.md)** | DNS provider setup | DevOps engineers |
| **[docs/ca-providers.md](docs/ca-providers.md)** | Certificate Authority configuration | Enterprise users |
| **[docs/docker.md](docs/docker.md)** | Docker and multi-platform builds | DevOps engineers |
| **[docs/testing.md](docs/testing.md)** | Testing framework and CI/CD | Developers |
| **[docs/architecture.md](docs/architecture.md)** | System architecture | Developers |
| **[docs/api.md](docs/api.md)** | Client certificates API reference | Developers |
| **[docs/mcp.md](docs/mcp.md)** | MCP server for AI agents: tools, auth, audit attribution | Developers, SRE |
| **[docs/guide.md](docs/guide.md)** | Step-by-step guide for common tasks | All users |
| **[docs/discovery-inventory.md](docs/discovery-inventory.md)** | Discovery, inventory, adopt, crypto readiness | SRE, security |
| **[docs/deploy-hooks.md](docs/deploy-hooks.md)** | Post-issuance deploy hooks | DevOps engineers |
| **[docs/compliance.md](docs/compliance.md)** | Audit chain, attribution, NIS2/eIDAS posture | Compliance, security |
| **[docs/kubernetes.md](docs/kubernetes.md)** | Pod sizing, OOM troubleshooting, Helm chart | SRE |
| **[docs/probes.en.md](docs/probes.en.md)** | Deployment probe configuration | DevOps engineers |
| **[CONTRIBUTING.md](CONTRIBUTING.md)** | Development and contribution guide | Developers |
| **[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)** | Community guidelines | Contributors |
### Online Resources
- **API Documentation**: http://your-server:8000/docs/ (Swagger UI)
- **Alternative API Docs**: http://your-server:8000/redoc/ (ReDoc)
- **GitHub Repository**: https://github.com/fabriziosalmi/certmate
- **Docker Hub**: https://hub.docker.com/r/fabriziosalmi/certmate
- **Issue Tracker**: https://github.com/fabriziosalmi/certmate/issues
### Examples Repository
Check out our examples repository for:
- Production deployment configurations
- Integration scripts for popular tools
- Terraform modules
- Kubernetes manifests
- CI/CD pipeline examples
### Community Contributions
We welcome contributions! Areas where we need help:
- **Documentation** - Tutorials, use cases, translations
- **Testing** - DNS provider testing, edge cases
- **Integrations** - New DNS providers, monitoring tools
- **Features** - UI improvements, API enhancements
## Commercial Support & Consulting
Running CertMate in production? I offer paid support, custom development, and
security consulting — certificate/TLS automation, hardening, WAF, and cloud
detection & alerting. Reach out: **[fabrizio.salmi@gmail.com](mailto:fabrizio.salmi@gmail.com)**.
## Contributing
We love contributions! CertMate is an open-source project and we welcome:
### Types of Contributions
- **Bug Reports** - Help us identify and fix issues
- **Feature Requests** - Suggest new functionality
- **Documentation** - Improve guides and examples
- **Testing** - Test new features and edge cases
- **Code** - Submit pull requests with improvements
### Quick Start for Contributors
```bash
# Fork and clone the repository
git clone https://github.com/fabriziosalmi/certmate.git
cd certmate
# Create development environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-test.txt
# Lint, format, and security-scan (the same tools CI runs)
make lint
make format
make security
# Run tests
pytest
# Start development server
python app.py
```
### Contribution Guidelines
1. **Fork** the repository
2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
3. **Commit** your changes (`git commit -m 'Add amazing feature'`)
4. **Push** to the branch (`git push origin feature/amazing-feature`)
5. **Open** a Pull Request
## License
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
---
**Made with ❤️ by Fabrizio Salmi**
[Star us on GitHub](https://github.com/fabriziosalmi/certmate) • [Report Bug](https://github.com/fabriziosalmi/certmate/issues) • [Request Feature](https://github.com/fabriziosalmi/certmate/issues/new?template=feature_request.md)
Listed in the European Open Source Catalogue