5
Configuration
dfgit-actions[bot] edited this page 2026-02-25 08:50:36 +03:00
This file contains ambiguous Unicode characters
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.

Конфигурация

Проект использует JSON конфиг (пример: config.json.example).

Важно про мультидоменный режим

Скрипт поддерживает:

  • один домен в поле domain
  • список доменов в поле domains (массив строк)
  • оба поля одновременно (будет объединение без дублей)

Пример:

{
  "regru_username": "your_username",
  "regru_password": "your_password",
  "domain": "example.com",
  "domains": [
    "example.com",
    "pages.gitea.example.com"
  ],
  "wildcard": true,
  "email": "admin@example.com",
  "cert_dir": "/etc/letsencrypt/live",
  "log_file": "/var/log/letsencrypt_regru.log",
  "dns_propagation_wait": 180,
  "dns_check_attempts": 20,
  "dns_check_interval": 15,
  "renewal_days": 30,
  "npm_enabled": true,
  "npm_host": "http://192.0.2.1:81",
  "npm_email": "admin@example.com",
  "npm_password": "changeme"
}

Параметры конфигурации

reg.ru API

  • regru_username, regru_password
    • учётные данные для API reg.ru
    • IP должен быть разрешён в настройках API (см. RegRu_API_Troubleshooting)

Домены

  • domain: основной домен (строка)
  • domains: массив доменов
  • wildcard: если true, скрипт будет запрашивать -d <domain> и -d *.<domain>
    • обратите внимание: этот флаг сейчас общий для всех доменов из массива

Lets Encrypt

  • email: email для регистрации в Lets Encrypt
  • renewal_days: порог автопродления (например, 30)

DNS ожидание/проверки

  • dns_propagation_wait: сколько секунд ждать после добавления TXT
  • dns_check_attempts: сколько попыток проверки через nslookup
  • dns_check_interval: интервал между попытками

Пути

  • cert_dir: базовая папка сертификатов (обычно /etc/letsencrypt/live)
  • log_file: файл логов

Nginx Proxy Manager (опционально)

  • npm_enabled: включить синхронизацию сертификатов в NPM
  • npm_host: URL NPM (пример: http://10.10.10.14:81)
  • npm_email, npm_password: учётные данные

Подробности: Nginx_Proxy_Manager.

Проверка конфига

  • letsencrypt-regru --test-api -v
  • letsencrypt-regru --test-dns -v
  • letsencrypt-regru --check -v

Где хранить конфиг

  • храните конфиг с правами 600
  • владелец: root

Пример:

  • sudo chmod 600 /etc/letsencrypt/regru_config.json
  • sudo chown root:root /etc/letsencrypt/regru_config.json