rename long name to short name
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
FROM certbot/certbot
|
||||
|
||||
# Проверяем наличие crond (используем command -v вместо which)
|
||||
RUN if ! command -v crond > /dev/null 2>&1; then \
|
||||
echo "Cron not found. Installing cronie..."; \
|
||||
apk add --no-cache cronie; \
|
||||
else \
|
||||
echo "Cron is already installed."; \
|
||||
fi
|
||||
|
||||
# Создаем директории для конфигов
|
||||
RUN mkdir -p /etc/letsencrypt/config
|
||||
|
||||
# Копируем конфигурационные файлы
|
||||
COPY scripts/ /opt/
|
||||
|
||||
# Устанавливаем права
|
||||
RUN chmod +x /opt/*
|
||||
|
||||
ENTRYPOINT ["/opt/init-certbot.sh"]
|
||||
@@ -0,0 +1,18 @@
|
||||
# Используем staging сервер для тестов
|
||||
staging = False # Staging True for develops
|
||||
|
||||
# Ваш email
|
||||
email = valitovgaziz@yandex.ru
|
||||
|
||||
# Принимаем условия подписки
|
||||
agree-tos = True
|
||||
|
||||
# Неинтерактивный режим
|
||||
non-interactive = True
|
||||
|
||||
# Путь для webroot-аутентификации
|
||||
webroot-path = /var/www/certbot
|
||||
|
||||
# Предпочитаемые настройки
|
||||
key-type = ecdsa
|
||||
elliptic-curve = secp384r1
|
||||
@@ -0,0 +1,111 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Функция проверки локального сертификата
|
||||
check_local_cert() {
|
||||
local cert_file=$1
|
||||
local days_to_check=$2
|
||||
|
||||
if [[ ! -f "$cert_file" ]]; then
|
||||
echo "Ошибка: Файл сертификата '$cert_file' не найден."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Получаем дату истечения сертификата
|
||||
expiry_date=$(openssl x509 -in "$cert_file" -noout -dates | grep "notAfter=" | cut -d= -f2)
|
||||
|
||||
if [[ -z "$expiry_date" ]]; then
|
||||
echo "Ошибка: не удалось получить дату истечения сертификата."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Преобразуем дату истечения в UNIX-время
|
||||
expiry_unix=$(date -d "$expiry_date" +%s)
|
||||
|
||||
# Текущая дата в UNIX-времени
|
||||
current_unix=$(date +%s)
|
||||
|
||||
# Вычисляем разницу между текущей датой и датой истечения
|
||||
days_left=$(( ($expiry_unix - $current_unix) / 86400 ))
|
||||
|
||||
if ((days_left <= 0)); then
|
||||
echo "Сертификат '$cert_file' истек!"
|
||||
return 0
|
||||
elif ((days_left <= days_to_check)); then
|
||||
echo "Предупреждение: Сертификат '$cert_file' истекает через $days_left дней."
|
||||
return 0
|
||||
else
|
||||
echo "Сертификат '$cert_file' действителен ещё $days_left дней."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка сертификата и запуск соответствующего сценария обновления
|
||||
check_first_cert() {
|
||||
local first_cert="/etc/letsencrypt/live/yalarba.ru/cert.pem"
|
||||
local first_script="/opt/renewYalarbaCert.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$first_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление сертификата yalarba.ru"
|
||||
"$first_script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка сертификата и запуск соответствующего сценария обновления
|
||||
check_second_cert() {
|
||||
local second_cert="/etc/letsencrypt/live/valitovgaziz.ru/cert.pem"
|
||||
local second_script="/opt/renewValitovGazizCert.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$second_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление сертификата valitovgaziz.ru"
|
||||
"$second_script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка сертификата и запуск соответствующего сценария обновления
|
||||
check_third_cert() {
|
||||
local third_cert="/etc/letsencrypt/live/easysite102.ru/cert.pem"
|
||||
local third_script="/opt/renewValitovGazizCert.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$third_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление сертификата easysite102.ru"
|
||||
"$third_script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка сертификата и запуск соответствующего сценария обновления
|
||||
check_forth_cert() {
|
||||
local forth_cert="/etc/letsencrypt/live/xn--80abahjtcfl5d0a8di.xn--p1ai/cert.pem"
|
||||
local forth_script="/opt/renewBegushiyBashkir.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$forth_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление сертификата для бегущийбашкир.рф"
|
||||
"$forth_script"
|
||||
fi
|
||||
}
|
||||
|
||||
check_fifth_cert() {
|
||||
local fifth_cert="/etc/letsencrypt/live/begushiybashkir.ru/cert.pem"
|
||||
local fifth_script="/opt/renewBegushiyBashkirLatin.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$fifth_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление сертификата для begushiybashkir.ru"
|
||||
"$fifth_script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Основная функция для последовательной проверки обоих сертификатов
|
||||
main() {
|
||||
check_first_cert
|
||||
check_second_cert
|
||||
check_third_cert
|
||||
check_forth_cert
|
||||
check_fifth_cert
|
||||
}
|
||||
|
||||
# Запуск основной функции
|
||||
main
|
||||
@@ -0,0 +1 @@
|
||||
0 0 * * * root /opt/checkRenewCerts.sh > /proc/1/fd/1 2>&1
|
||||
@@ -0,0 +1,69 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Проверяем наличие сертификатов для yalarba.ru
|
||||
if [ ! -d "/etc/letsencrypt/live/yalarba.ru" ]; then
|
||||
echo "Получаем новые сертификаты yalarba.ru ..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_yalarba}
|
||||
fi
|
||||
|
||||
echo "сertificates for ${DOMAINS_yalarba} is ready"
|
||||
|
||||
# Проверяем наличие сертификатов для valitovgaziz.ru
|
||||
if [ ! -d "/etc/letsencrypt/live/valitovgaziz.ru" ]; then
|
||||
echo "Получаем новые сертификаты valitovgaziz ..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_valitovgaziz}
|
||||
fi
|
||||
|
||||
echo "сertificates for ${DOMAINS_valitovgaziz} is ready"
|
||||
|
||||
# Проверяем наличие сертификатов для easysite102.ru
|
||||
if [ ! -d "/etc/letsencrypt/live/easysite102.ru" ]; then
|
||||
echo "Получаем новые сертификаты easysite102.ru ..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_easysite102}
|
||||
fi
|
||||
|
||||
echo "сertificates for ${DOMAINS_easysite102} is ready"
|
||||
|
||||
# Проверяем наличие сертификатов для бегущийбашкир.рф
|
||||
if [ ! -d "/etc/letsencrypt/live/xn--80abahjtcfl5d0a8di.xn--p1ai" ]; then
|
||||
echo "Получаем новые сертификаты xn--80abahjtcfl5d0a8di.xn--p1ai(бегущийбашкир.рф) ..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_begushiybashkir}
|
||||
fi
|
||||
|
||||
echo "сertificates for ${DOMAINS_begushiybashkir} is ready"
|
||||
|
||||
# Проверяем наличие сертификатов для begushiybashkir.ru
|
||||
if [ ! -d "/etc/letsencrypt/live/begushiybashkir.ru" ]; then
|
||||
echo "Получаем новые сертификаты begushiybashkir.ru ..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_begushiybashkir_latin}
|
||||
fi
|
||||
|
||||
echo "сertificates for ${DOMAINS_begushiybashkir_latin} is ready"
|
||||
|
||||
set -e # Завершаем работу, если любая команда вернёт ошибку
|
||||
|
||||
# Активируем сервис cron
|
||||
/usr/sbin/crond -f &
|
||||
crond -f &
|
||||
|
||||
# Копируем нашу собственную crontab таблицу
|
||||
cp /opt/crontab.txt /etc/crontabs/root
|
||||
|
||||
# Оставляем контейнер открытым
|
||||
tail -f /dev/null
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Получаем новые сертификаты для ${DOMAINS_begushiybashkir_latin}..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_begushiybashkir_latin}
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Получаем новые сертификаты для ${DOMAINS_begushiybashkir}..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_begushiybashkir}
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Получаем новые сертификаты для easysite102..."
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_easysite102}
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Получаем новые сертификаты для ${DOMAINS_valitovgaziz}"
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_valitovgaziz}
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Получаем новые сертификаты для ${DOMAINS_yalarba}"
|
||||
certbot certonly --webroot \
|
||||
--config /etc/letsencrypt/config/certbot.ini \
|
||||
-w /var/www/certbot \
|
||||
-d ${DOMAINS_yalarba}
|
||||
Reference in New Issue
Block a user