Централизованное управление Let's Encrypt: один Master выпускает сертификаты через acme.sh + HE.net DNS-01 и доставляет их на slave-серверы (Nginx / Caddy).
- Выпуск apex + wildcard для каждого домена (HE.net: один TXT на
_acme-challenge) - Автопродление (cron, порог 7 дней до expiry)
- Автодеплой на slaves после issue/renew
- Поддержка Nginx и Caddy
| Компонент | Версия / примечание |
|---|---|
| Master VPS | Debian 11+ / Ubuntu 22.04+ |
| DNS | Домены на HE.net (API login/password) |
| Slaves | Nginx или Caddy, SSH, Debian/Ubuntu |
| Оператор | Windows 10+ (PowerShell, OpenSSH, PuTTY) или Linux |
| Порты | Master: 22 (SSH); slaves: 22 (deploy), 80/443 (веб) |
Отредактируйте перед установкой:
| Файл | Что указать |
|---|---|
config/domains.txt |
apex-домены (по одному на строку) |
config/deploy-map.conf |
IP slaves, пути cert, nginx/caddy |
scripts/setup-master.ps1 |
IP Master, IP для SSH whitelist |
scripts/setup-acme.ps1 |
IP Master |
cd scripts
Set-ExecutionPolicy -Scope Process Bypass -Force
.\setup-master.ps1
.\setup-acme.ps1/etc/sertif/scripts/configure-he-dns.sh
/etc/sertif/scripts/issue-domains.sh --staging --domain example.com
/etc/sertif/scripts/issue-domains.sh
/etc/sertif/scripts/register-deploy-hooks.sh
/etc/sertif/scripts/sync-certs.shПодробнее: docs/SETUP.md
config/
domains.txt # apex-домены для выпуска
deploy-map.conf # карта деплоя Master → slaves
he.net.env.example # шаблон credentials HE.net
scripts/ # установка и эксплуатация (см. docs/SCRIPTS.md)
docs/ # документация
| Документ | Содержание |
|---|---|
| docs/SETUP.md | пошаговая установка |
| docs/ARCHITECTURE.md | схема renew/deploy |
| docs/SLAVES.md | подключение slave-сервера |
| docs/SCRIPTS.md | справочник скриптов |
| SECURITY.md | секреты и hardening |
| CONTRIBUTING.md | Issue и Pull Request |
Cron на Master (устанавливается install-acme.sh):
15 4 * * * /etc/sertif/scripts/renew-domains.sh
Лог: /var/log/sertif-acme-cron.log
Proprietary — All Rights Reserved. Коммерческое использование и модификации вне Pull Request в этот репозиторий запрещены. См. LICENSE.
Изменения — через Issues и Pull Requests. См. CONTRIBUTING.md.