{% set domains = [] %} {% for domainname in nginx.remotes %} {% set family = domainname|normalize_family %} {% set revprox = nginx['reverse_proxy_for_' + family]['reverse_proxy_' + family] %} {% for domain in revprox['revprox_domainnames_' + family] %} {% set domain = domain['revprox_url_' + family].split('/', 3)[2].split(':')[0] %} {% if domain not in domains %} {{ domains.append(domain) }} {% endif %} {% endfor %} {% endfor %} {% if domains %} {% set domains_str = " ".join(domains) %} [Service] ExecStartPre= ExecStartPre=/usr/bin/timeout 90 sh -c 'while ! /usr/bin/resolvectl query {{ domains_str }}; do sleep 1; done' ExecStartPre=/usr/bin/rm -f /run/nginx.pid ExecStartPre=/usr/sbin/nginx -t {% endif %}