'<li>Create an account at <a href="https://njal.la" target="_blank" rel="noopener noreferrer" style="color:var(--accent-color);">njal.la</a>.</li>'+
'<li>Set up a domain for it — either a free subdomain or a separate domain. Pick one option:</li>'+
'</ol>';
}else{
introHtml=
'<p>To enable <strong>'+escHtml(feat.name)+'</strong>, it needs its own domain from Njal.la. '+
'In your Njal.la account, set up a domain for it — either a free subdomain or a separate domain. Pick one option:</p>';
}
$domainSetupBody.innerHTML=
$domainSetupBody.innerHTML=
'<div class="domain-setup-intro">'+
'<div class="domain-setup-intro">'+
'<p><strong>Before continuing:</strong></p>'+
introHtml+
'<ol>'+
'<details style="margin-top:10px;">'+
'<li>Create an account at <a href="https://njal.la" target="_blank" rel="noopener noreferrer" style="color:var(--accent-color);">https://njal.la</a></li>'+
'<summary style="cursor:pointer;font-weight:600;">Option A — Free subdomain (recommended)</summary>'+
'<li>Purchase a new domain on Njal.la, or create a subdomain from a domain you already own. Tip: Subdomains are free to create — you only need to purchase one domain, and you can add as many subdomains as you need at no extra cost.</li>'+
'<li>Add a Dynamic record as in Option A. If this domain is dedicated to the service, leave the Name field blank or use <code>@</code>.</li>'+
'<li>Copy the curl command Njal.la gives you.</li>'+
'</ol>'+
'</details>'+
'<p style="margin-top:10px;">Below, enter the full domain for this service — a subdomain (e.g. call.yourdomain.com) or a separate domain (e.g. call.com) — and paste its curl command.</p>'+
@@ -159,14 +184,14 @@ function openDomainReconfigureModal(feat, existingDomain, onSaved) {
'<p><strong>Troubleshooting steps:</strong></p>'+
'<p><strong>Troubleshooting steps:</strong></p>'+
'<ol>'+
'<ol>'+
'<li>Log into your Njal.la dashboard at <a href="https://njal.la" target="_blank" rel="noopener noreferrer" style="color:var(--accent-color);">https://njal.la</a></li>'+
'<li>Log into your Njal.la dashboard at <a href="https://njal.la" target="_blank" rel="noopener noreferrer" style="color:var(--accent-color);">https://njal.la</a></li>'+
'<li>Find the DNS record for <strong>'+escHtml(currentDomain||"your domain")+'</strong></li>'+
'<li>Find the DNS record for <strong>'+escHtml(currentDomain||"your domain")+'</strong>. In Njal.la\'s Name field, note that only the host part is stored (the word before the domain) — not the full domain.</li>'+
'<li>Verify it has a <strong>Dynamic</strong> record pointing to your current external IP:<br>'+
'<li>Verify it has a <strong>Dynamic</strong> record pointing to your current external IP:<br>'+
+'<li>Create an account at <a href="https://njal.la" target="_blank" style="color:var(--accent-color);">https://njal.la</a></li>'
+'<li>Create an account at <a href="https://njal.la" target="_blank" style="color:var(--accent-color);">https://njal.la</a>.</li>'
+'<li>Purchase a new domain on Njal.la, or create a subdomain from a domain you already own. Tip: Subdomains are free to create — you only need to purchase one domain, and you can add as many subdomains as you like.</li>'
+'<li>Buy at least one domain. Each service below needs its own domain — you can either give each service its own subdomain of a single domain you buy (subdomains are free, and one domain can have many), OR use a separate domain for each. Your choice.</li>'
+'<li>In the Njal.la web interface, create a <strong>Dynamic</strong> record pointing to this machine\'s external IP address:<br>'
+'<li>For each service, add a <strong>Dynamic</strong> record in Njal.la:'
+'(Example only, your choice — for "call.yourdomain.com" you'd type just: <code>call</code>.)<br>'
+'<li>Enter the subdomain and paste that curl command below for each service</li>'
+'If you bought a whole separate domain just for this service, leave Name blank or use <code>@</code>.<br>'
+'⚠ Do NOT type the full domain in the Name field — Njal.la adds it automatically.</li>'
+'<li>A Dynamic record has NO IP field. You don't enter an IP anywhere — it auto-fills once Sovran_SystemsOS updates it (on save, and again after reboot).</li>'
html+='<p class="onboarding-hint">Enter each fully-qualified subdomain (e.g. <code>matrix.yourdomain.com</code>) and its Njal.la DDNS curl command.</p>';
html+='<p class="onboarding-hint">Enter each service\'s full domain — a subdomain (e.g. <code>call.yourdomain.com</code>) or a separate domain (e.g. <code>call.com</code>) — and its Njal.la DDNS curl command.</p>';
Sovran_SystemsOS uses <strong><ahref="https://njal.la"target="_blank"style="color: var(--accent-color);">Njal.la</a></strong> for domains and Dynamic DNS.
Sovran_SystemsOS uses <strong><ahref="https://njal.la"target="_blank"style="color: var(--accent-color);">Njal.la</a></strong> for domains and Dynamic DNS.
First, create an account at <strong>Njal.la</strong> and purchase a new domain, or create a subdomain from a domain you already own. Tip: Subdomains are free to create — you only need to purchase one domain, and you can add as many subdomains as you need at no extra cost.
Create an account at Njal.la, then for each service below, add a <strong>Dynamic</strong> record — no IP needed, it auto-populates once the DDNS curl command runs.
Then, in the Njal.la web interface, create a <strong>Dynamic</strong> record pointing to this machine's external IP address (shown below).
Paste the curl command from your Njal.la dashboard for each service.
Finally, paste the DDNS curl command from your Njal.la dashboard for each service below.
</p>
</p>
</div>
</div>
<divclass="onboarding-card"id="step-3-body">
<divclass="onboarding-card"id="step-3-body">
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.