Закрыли часть проблем с безопасностью + мелкие починки
This commit is contained in:
@@ -6,8 +6,23 @@ lock=/tmp/han-chat-cert-renew.lock
|
||||
exec 9>"$lock"
|
||||
flock -n 9 || { echo '{"event":"tls.renew.skipped","reason":"lock_busy"}'; exit 0; }
|
||||
|
||||
docker compose --profile certbot run --rm certbot renew \
|
||||
compose() {
|
||||
docker compose --env-file .env "$@"
|
||||
}
|
||||
|
||||
nginx_container="$(compose ps --status running --quiet nginx)"
|
||||
if [ -z "$nginx_container" ]; then
|
||||
echo '{"event":"tls.renew.failed","reason":"nginx_not_running"}' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
compose --profile certbot run --rm certbot renew \
|
||||
--webroot -w /var/www/certbot --quiet
|
||||
docker compose exec -T nginx nginx -t -c /tmp/nginx.conf
|
||||
docker compose kill -s HUP nginx
|
||||
compose exec -T nginx nginx -t -c /tmp/nginx.conf
|
||||
|
||||
# Сигнал отправляется PID 1 контейнера. Нельзя использовать `nginx -s reload`:
|
||||
# он ищет дефолтный /var/run/nginx.pid, тогда как рабочий PID — /tmp/nginx.pid.
|
||||
compose kill --signal HUP nginx
|
||||
|
||||
compose ps --status running --quiet nginx | awk 'NF {found=1} END {exit !found}'
|
||||
echo "{\"event\":\"tls.renew.completed\",\"timestamp\":\"$(date -u +%FT%TZ)\"}"
|
||||
|
||||
Reference in New Issue
Block a user