Clone
Table of Contents
- Команды и сценарии
- CLI: letsencrypt-regru
- Makefile
- Типовой workflow (рекомендуется)
- Appendix (migrated from docs/CHEATSHEET.md)
- ⚡ Шпаргалка по SSL сертификатам
- 🚀 Быстрый старт
- 🧪 Тестирование (БЕЗ лимитов Let's Encrypt)
- 🔒 Production (Let's Encrypt)
- 📋 Основные команды
- 📝 Конфигурация
- 🔄 Workflow
- 📁 Важные пути
- 🔍 Проверка
- 🐛 Отладка
- ⚠️ Частые ошибки
- 🎯 Сценарии использования
- 📚 Документация
- 🆘 Быстрая помощь
- 💡 Советы
- Appendix (migrated from docs/MAKEFILE_COMMANDS.md)
- Makefile Commands - Quick Reference
- 📋 Категории команд
- 🛠️ Установка и развертывание
- 🔨 Сборка исполняемых файлов
- 📦 Создание пакетов
- 🧪 Тестирование
- 🚀 Запуск операций
- 📊 Мониторинг
- 🧹 Очистка
- ℹ️ Информация
- 🎯 Типовые сценарии
- Первоначальная установка
- Сборка релиза для GitHub
- Создание тестового окружения
- Обновление сертификата вручную
- Удаление приложения
- 📝 Переменные окружения
- 🔐 Требуемые права
- 💡 Полезные комбинации
This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Команды и сценарии
CLI: letsencrypt-regru
Основные режимы:
--check— проверить срок действия и тип (staging/production)--info— показать расширенную информацию по сертификату--obtain— принудительно получить production сертификат--renew— обновить существующий сертификат--auto— авто-режим: создать/обновить по необходимости
Тесты/диагностика:
--staging— тестовый сертификат LE staging (без лимитов)--test-cert— самоподписанный тестовый сертификат (мгновенно, без интернета)--test-api— проверка API reg.ru (IP, баланс)--test-dns— полный цикл DNS TXT add → ожидание → nslookup → cleanup
Служебные (вызывает certbot):
--auth-hook--cleanup-hook
Дополнительно:
-c/--config <file>— путь к конфигу-v/--verbose— подробные логи--force-cleanup— очистка lock файлов certbot
Мультидоменный режим
Если в конфиге указан domains[], команды --check/--info/--staging/--obtain/--renew/--auto/--test-* будут выполняться по всем доменам.
Makefile
Часто используемые команды:
make install/make uninstallmake test-certmake obtainmake renewmake run(аналог--auto)make statusmake logs
CI / Wiki (workflow dispatch)
Эти команды не выполняют деплой/синк локально — они делают API запрос в Actions
на gitea.example.com и запускают соответствующий workflow.
make wiki-sync— запустить синхронизациюwiki/в Wiki репозиторияmake ci-release TAG=vX.Y.Z(илиmake ci-release VERSION=X.Y.Z) — запустить релизный workflowmake deploy-service(опциональноREF=branch_or_tag) — запустить деплойный workflow
wiki-sync также запускается автоматически при push в master, если изменились файлы в wiki/**.
Нужно задать токен (любой из):
DFGIT_TOKEN(предпочтительно)GIT_TOKENGITEA_TOKENGITEA_ACCESS_TOKEN
Примеры:
# Windows PowerShell
$env:DFGIT_TOKEN = "<token>"; make wiki-sync
$env:DFGIT_TOKEN = "<token>"; make ci-release TAG=v1.2.3
$env:DFGIT_TOKEN = "<token>"; make deploy-service
$env:DFGIT_TOKEN = "<token>"; make deploy-service REF=master
# Linux/macOS
DFGIT_TOKEN="<token>" make wiki-sync
DFGIT_TOKEN="<token>" make ci-release TAG=v1.2.3
DFGIT_TOKEN="<token>" make deploy-service
DFGIT_TOKEN="<token>" make deploy-service REF=master
Примечания:
- Базовый URL задаётся переменной
DFGIT_URL(по умолчаниюhttps://gitea.example.com). - Репозиторий задаётся
DFGIT_REPO(по умолчаниюyour_username/configure_nginx_manager). - Для Linux/macOS требуется установленный
curl.
Типовой workflow (рекомендуется)
- Подготовка
letsencrypt-regru --test-api -vletsencrypt-regru --test-dns -v
- Тестирование без лимитов
letsencrypt-regru --stagingилиletsencrypt-regru --test-cert
- Production
letsencrypt-regru --obtain
- Автопродление
- systemd timer или cron →
letsencrypt-regru --auto
Если используете NPM — см. Nginx_Proxy_Manager.
Appendix (migrated from docs/CHEATSHEET.md)
⚡ Шпаргалка по SSL сертификатам
🚀 Быстрый старт
Установка за 3 команды
sudo make install
sudo nano /etc/letsencrypt/regru_config.json # Заполнить данные
sudo make test-cert # Тест
🧪 Тестирование (БЕЗ лимитов Let's Encrypt)
## Создать тестовый сертификат (неограниченно)
sudo make test-cert
## Проверить статус
sudo make status
## Просмотреть логи
sudo make logs
Когда использовать:
- ⚠️ Let's Encrypt: макс. 5 сертификатов/неделю
- ✅ Тестовые: НЕОГРАНИЧЕННО
- ⚡ Создание: 1-2 секунды vs 2-5 минут
🔒 Production (Let's Encrypt)
## Получить настоящий сертификат
sudo make obtain
## Автоматический режим (проверка + обновление)
sudo make run
## Принудительное обновление
sudo make renew
📋 Основные команды
Команды letsencrypt-regru
| Команда | Описание | Лимиты | Использование |
|---|---|---|---|
--check |
Проверить срок действия | - | Мониторинг |
--obtain |
Получить новый сертификат | ⚠️ 5/неделю | Первое создание |
--renew |
Обновить существующий | ⚠️ 5/неделю | Продление |
--auto |
Авто-проверка и обновление | ⚠️ 5/неделю | Cron/systemd |
--test-cert |
Тестовый сертификат | ✅ Нет | Разработка |
--test-api |
Проверить API reg.ru | - | Диагностика |
--test-dns |
Тест создания DNS записи | - | Проверка перед SSL |
--help |
Справка | - | Помощь |
-v |
Подробный вывод | - | Отладка |
Команды Makefile
| Команда | Описание | Эквивалент |
|---|---|---|
make test-cert |
Тестовый сертификат | letsencrypt-regru --test-cert |
make obtain |
Let's Encrypt новый | letsencrypt-regru --obtain |
make renew |
Обновить существующий | letsencrypt-regru --renew |
make run |
Авто-режим | letsencrypt-regru --auto |
make status |
Статус системы | - |
make logs |
Показать логи | journalctl -u letsencrypt-regru |
make check-config |
Проверить конфигурацию | - |
Команды letsencrypt_regru.sh
| Команда | Описание |
|---|---|
sudo bash letsencrypt_regru.sh install |
Установить приложение |
sudo bash letsencrypt_regru.sh update |
Обновить приложение |
sudo bash letsencrypt_regru.sh uninstall |
Удалить приложение |
📝 Конфигурация
Минимальная (тестирование)
{
"domain": "test.example.com",
"wildcard": true,
"cert_dir": "/etc/letsencrypt/live"
}
Полная (production + NPM)
{
"regru_username": "myuser",
"regru_password": "mypassword",
"domain": "example.com",
"wildcard": true,
"email": "admin@example.com",
"renewal_days": 30,
"npm_enabled": true,
"npm_host": "https://npm.example.com",
"npm_email": "admin@example.com",
"npm_password": "npm_password"
}
🔄 Workflow
Разработка → Production
## 1. Разработка (тестовые сертификаты)
sudo make test-cert # Создать тестовый
## Тестировать приложение...
## 2. Production (Let's Encrypt)
sudo rm -rf /etc/letsencrypt/live/example.com/ # Удалить тест
sudo make obtain # Создать production
📁 Важные пути
## Конфигурация
/etc/letsencrypt/regru_config.json
## Сертификаты
/etc/letsencrypt/live/example.com/
├── privkey.pem # Приватный ключ
├── cert.pem # Сертификат
├── fullchain.pem # Полная цепочка (для nginx)
└── chain.pem # CA цепочка
## Скрипты
/opt/letsencrypt-regru/letsencrypt_regru_api.py
## Логи
/var/log/letsencrypt_regru.log
🔍 Проверка
## Проверить конфигурацию
sudo make check-config
## Проверить сертификат
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout
## Проверить срок действия
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -noout -dates
## Проверить systemd
sudo systemctl status letsencrypt-regru.timer
sudo systemctl list-timers letsencrypt-regru.timer
## Проверить cron
sudo crontab -l | grep letsencrypt
🐛 Отладка
## Подробные логи
sudo make logs
## Тестовый запуск с подробностями
sudo python3 /opt/letsencrypt-regru/letsencrypt_regru_api.py \
-c /etc/letsencrypt/regru_config.json --check -v
## Логи certbot
sudo tail -f /var/log/letsencrypt/letsencrypt.log
## Логи systemd
sudo journalctl -u letsencrypt-regru.service -f
⚠️ Частые ошибки
Let's Encrypt: Rate limit exceeded
## РЕШЕНИЕ: Используйте тестовые сертификаты
sudo make test-cert
NPM: Certificate not found
## РЕШЕНИЕ: Проверьте настройки NPM
sudo make check-config
## Проверьте подключение
curl -k https://npm.example.com
Permission denied
## РЕШЕНИЕ: Запускайте с sudo
sudo make test-cert
🎯 Сценарии использования
Локальная разработка
sudo make test-cert
## Открыть https://localhost (игнорировать предупреждение)
CI/CD тестирование
## В pipeline
sudo make test-cert
## Запустить тесты...
sudo make status
Staging окружение
sudo make test-cert # Или
sudo make obtain # Если есть домен
Production окружение
sudo make install
sudo make obtain
## Автоматическое обновление через cron/systemd
📚 Документация
- README.md - Полное руководство (1420+ строк)
- TESTING_GUIDE.md - Тестирование (370+ строк)
- PROJECT_STRUCTURE.md - Структура проекта
- CHEATSHEET.md - Эта шпаргалка
🆘 Быстрая помощь
## Показать все команды
make help
## Проверить установку
sudo make status
## Полная переустановка
sudo make uninstall
sudo make install
💡 Советы
- Всегда начинайте с тестовых сертификатов - избегайте лимитов
- Проверяйте конфигурацию -
make check-config - Мониторьте логи -
make logs - Автоматизируйте - systemd/cron уже настроены
- Храните бэкапы конфигурации
Версия: 2.1
Обновлено: 27.10.2025
Appendix (migrated from docs/MAKEFILE_COMMANDS.md)
Makefile Commands - Quick Reference
📋 Категории команд
🛠️ Установка и развертывание
make install # Полная установка приложения
make uninstall # Удаление приложения
make status # Проверка статуса установки
make check-config # Проверка конфигурации
🔨 Сборка исполняемых файлов
make build # Собрать для текущей ОС
make build-linux # Собрать для Linux
make build-windows # Собрать для Windows
make build-all # Собрать для всех платформ
📦 Создание пакетов
make package-linux # Создать tar.gz для Linux
make package-windows # Создать zip для Windows
make release # Полный цикл релиза
🧪 Тестирование
make test-run # Тестовый запуск скрипта
make test-cert # Создать тестовый сертификат
make test-build # Протестировать собранный файл
🚀 Запуск операций
make run # Автоматическая проверка и обновление
make obtain # Получить новый сертификат
make renew # Обновить существующий сертификат
📊 Мониторинг
make logs # Показать логи
make status # Статус служб
🧹 Очистка
make clean # Очистить временные файлы Python
make clean-build # Очистить артефакты сборки
ℹ️ Информация
make help # Показать справку
make build-info # Информация о среде сборки
🎯 Типовые сценарии
Первоначальная установка
sudo make install
sudo make check-config
sudo make test-run
Сборка релиза для GitHub
make clean-build
make release
## Файлы будут в dist/
Создание тестового окружения
sudo make install
sudo make test-cert
sudo make status
Обновление сертификата вручную
sudo make run
sudo make logs
Удаление приложения
sudo make uninstall
📝 Переменные окружения
Основные переменные определены в Makefile:
INSTALL_DIR = /opt/letsencrypt-regru
CONFIG_FILE = /etc/letsencrypt/regru_config.json
LOG_FILE = /var/log/letsencrypt_regru.log
SERVICE_NAME = letsencrypt-regru
PYTHON = python3
🔐 Требуемые права
Требуют sudo:
make installmake uninstallmake runmake obtainmake renewmake test-runmake test-cert
Не требуют sudo:
make build*make package*make clean*make helpmake build-info
💡 Полезные комбинации
## Полная переустановка
sudo make uninstall && sudo make install
## Сборка и тестирование
make build && make test-build
## Очистка и релиз
make clean-build && make release
## Проверка после установки
sudo make status && sudo make test-run && sudo make logs