www.pay.sitedesignstudio.net
Open in
urlscan Pro
153.92.209.193
Public Scan
Submitted URL: http://www.pay.sitedesignstudio.net/
Effective URL: https://www.pay.sitedesignstudio.net/setup.html
Submission: On July 08 via api from US — Scanned from GB
Effective URL: https://www.pay.sitedesignstudio.net/setup.html
Submission: On July 08 via api from US — Scanned from GB
Form analysis
1 forms found in the DOMName: dnsCredentialsForm —
<form name="dnsCredentialsForm" role="form" novalidate="" ng-submit="setDnsCredentials()" autocomplete="off" class="ng-pristine ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength ng-valid-email">
<div class="row">
<div class="col-md-10 col-md-offset-1 text-center">
<h1>Domain Setup</h1>
<p class="has-error text-center ng-binding ng-hide" ng-show="error.setup"></p>
</div>
</div>
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="form-group" style="margin-bottom: 0;" ng-class="{ 'has-error': dnsCredentialsForm.domain.$dirty && dnsCredentialsForm.domain.$invalid }">
<label class="control-label">Domain
<sup><a ng-href="https://docs.cloudron.io/installation/#domain-setup" class="help" target="_blank" href="https://docs.cloudron.io/installation/#domain-setup"><i class="fa fa-question-circle"></i></a></sup></label>
<input type="text" class="form-control ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" ng-model="dnsCredentials.domain" name="domain" placeholder="example.com" required="" autofocus="" ng-disabled="dnsCredentials.busy">
<div class="text-danger ng-hide" ng-show="dnsCredentials.domain.indexOf('my.') === 0 && dnsCredentials.domain.length > 3">Are you sure about this domain? The dashboard will be at <b class="ng-binding">my.</b></div>
<p style="margin-top: 5px; font-size: 13px;"> Apps will be installed on subdomains of this domain. The dashboard will be available on the <b>my</b> subdomain. You can add more domains later. </p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10 col-md-offset-1">
<h3 class="text-center">Domain Configuration
<sup><a ng-href="https://docs.cloudron.io/domains/#dns-providers" class="help" target="_blank" tabindex="-1" href="https://docs.cloudron.io/domains/#dns-providers"><i class="fa fa-question-circle"></i></a></sup> </h3>
<p class="has-error text-center ng-binding ng-hide" ng-show="error.dnsCredentials"></p>
<div class="form-group">
<label class="control-label">DNS Provider</label>
<select class="form-control ng-pristine ng-untouched ng-valid ng-not-empty" ng-model="dnsCredentials.provider" ng-options="a.value as a.name for a in dnsProvider" ng-disabled="dnsCredentials.busy" ng-change="setDefaultTlsProvider()">
<option label="AWS Route53" value="string:route53" selected="selected">AWS Route53</option>
<option label="Bunny" value="string:bunny">Bunny</option>
<option label="Cloudflare" value="string:cloudflare">Cloudflare</option>
<option label="deSEC" value="string:desec">deSEC</option>
<option label="DigitalOcean" value="string:digitalocean">DigitalOcean</option>
<option label="DNSimple" value="string:dnsimple">DNSimple</option>
<option label="Gandi LiveDNS" value="string:gandi">Gandi LiveDNS</option>
<option label="GoDaddy" value="string:godaddy">GoDaddy</option>
<option label="Google Cloud DNS" value="string:gcdns">Google Cloud DNS</option>
<option label="Hetzner" value="string:hetzner">Hetzner</option>
<option label="Linode" value="string:linode">Linode</option>
<option label="Name.com" value="string:namecom">Name.com</option>
<option label="Namecheap" value="string:namecheap">Namecheap</option>
<option label="Netcup" value="string:netcup">Netcup</option>
<option label="OVH" value="string:ovh">OVH</option>
<option label="Porkbun" value="string:porkbun">Porkbun</option>
<option label="Vultr" value="string:vultr">Vultr</option>
<option label="Wildcard" value="string:wildcard">Wildcard</option>
<option label="Manual (not recommended)" value="string:manual">Manual (not recommended)</option>
<option label="No-op (only for development)" value="string:noop">No-op (only for development)</option>
</select>
</div>
<!-- Route53 -->
<div class="form-group" ng-class="{ 'has-error': dnsCredentialsForm.accessKeyId.$dirty && dnsCredentialsForm.accessKeyId.$invalid }" ng-show="dnsCredentials.provider === 'route53'">
<label class="control-label">Access Key Id</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" ng-model="dnsCredentials.accessKeyId" name="accessKeyId" placeholder="Access Key Id"
ng-minlength="16" ng-maxlength="32" ng-required="dnsCredentials.provider === 'route53'" ng-disabled="dnsCredentials.busy" required="required">
</div>
<div class="form-group" ng-class="{ 'has-error': dnsCredentialsForm.secretAccessKey.$dirty && dnsCredentialsForm.secretAccessKey.$invalid }" ng-show="dnsCredentials.provider === 'route53'">
<label class="control-label">Secret Access Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" ng-model="dnsCredentials.secretAccessKey" name="secretAccessKey" placeholder="Secret Access Key"
ng-required="dnsCredentials.provider === 'route53'" ng-disabled="dnsCredentials.busy" required="required">
</div>
<!-- Google Cloud DNS -->
<div class="form-group ng-hide" ng-class="{ 'has-error': false }" ng-show="dnsCredentials.provider === 'gcdns'">
<label class="control-label">Service Account Key</label>
<div class="input-group">
<input type="file" id="gcdnsKeyFileInput" style="display:none">
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" placeholder="Service Account Key" ng-model="dnsCredentials.gcdnsKey.keyFileName" id="gcdnsKeyInput" name="cert"
onclick="getElementById('gcdnsKeyFileInput').click();" style="cursor: pointer;" ng-required="dnsCredentials.provider === 'gcdns'" ng-disabled="dnsCredentials.busy">
<span class="input-group-addon">
<i class="fa fa-upload" onclick="getElementById('gcdnsKeyFileInput').click();"></i>
</span>
</div>
</div>
<!-- DigitalOcean -->
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.digitalOceanToken.$dirty && dnsCredentialsForm.digitalOceanToken.$invalid }" ng-show="dnsCredentials.provider === 'digitalocean'">
<label class="control-label">DigitalOcean Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.digitalOceanToken" name="digitalOceanToken" placeholder="API Token"
ng-required="dnsCredentials.provider === 'digitalocean'" ng-disabled="dnsCredentials.busy">
</div>
<!-- Gandi -->
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.gandiApiKey.$dirty && dnsCredentialsForm.gandiApiKey.$invalid }" ng-show="dnsCredentials.provider === 'gandi'">
<label class="control-label">Gandi API Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.gandiApiKey" name="gandiApiKey" placeholder="API Key" ng-required="dnsCredentials.provider === 'gandi'"
ng-disabled="dnsCredentials.busy">
</div>
<!-- GoDaddy -->
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.godaddyApiKey.$dirty && dnsCredentialsForm.godaddyApiKey.$invalid }" ng-show="dnsCredentials.provider === 'godaddy'">
<label class="control-label">API Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-minlength ng-valid-required" ng-model="dnsCredentials.godaddyApiKey" name="godaddyApiKey" placeholder="API Key" ng-minlength="1"
ng-required="dnsCredentials.provider === 'godaddy'" ng-disabled="dnsCredentials.busy">
</div>
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.godaddyApiSecret.$dirty && dnsCredentialsForm.godaddyApiSecret.$invalid }" ng-show="dnsCredentials.provider === 'godaddy'">
<label class="control-label">API Secret</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.godaddyApiSecret" name="godaddyApiSecret" placeholder="API Secret"
ng-required="dnsCredentials.provider === 'godaddy'" ng-disabled="dnsCredentials.busy">
</div>
<!-- Netcup -->
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.netcupCustomerNumber.$dirty && dnsCredentialsForm.netcupCustomerNumber.$invalid }" ng-show="dnsCredentials.provider === 'netcup'">
<label class="control-label">Customer Number</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.netcupCustomerNumber" name="netcupCustomerNumber" ng-disabled="dnsCredentials.busy"
ng-required="dnsCredentials.provider === 'netcup'">
</div>
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.netcupApiKey.$dirty && dnsCredentialsForm.netcupApiKey.$invalid }" ng-show="dnsCredentials.provider === 'netcup'">
<label class="control-label">API Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-minlength ng-valid-required" ng-model="dnsCredentials.netcupApiKey" name="netcupApiKey" ng-disabled="dnsCredentials.busy" ng-minlength="1"
ng-required="dnsCredentials.provider === 'netcup'">
</div>
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.netcupApiPassword.$dirty && dnsCredentialsForm.netcupApiPassword.$invalid }" ng-show="dnsCredentials.provider === 'netcup'">
<label class="control-label">API Password</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.netcupApiPassword" name="netcupApiPassword" ng-disabled="dnsCredentials.busy"
ng-required="dnsCredentials.provider === 'netcup'">
</div>
<!-- Cloudflare -->
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.cloudflareToken.$dirty && dnsCredentialsForm.cloudflareToken.$invalid }" ng-show="dnsCredentials.provider === 'cloudflare'">
<label class="control-label">Token Type</label>
<select class="form-control ng-pristine ng-untouched ng-valid ng-not-empty" ng-model="dnsCredentials.cloudflareTokenType">
<option value="GlobalApiKey">Global API Key</option>
<option value="ApiToken">API Token</option>
</select>
</div>
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.cloudflareToken.$dirty && dnsCredentialsForm.cloudflareToken.$invalid }" ng-show="dnsCredentials.provider === 'cloudflare'">
<label class="control-label" ng-show="dnsCredentials.cloudflareTokenType === 'GlobalApiKey'">Global API Key</label>
<label class="control-label ng-hide" ng-show="dnsCredentials.cloudflareTokenType === 'ApiToken'">Api Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.cloudflareToken" name="cloudflareToken" placeholder="API Key/Token"
ng-required="dnsCredentials.provider === 'cloudflare'" ng-disabled="dnsCredentials.busy">
</div>
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.cloudflareEmail.$dirty && dnsCredentialsForm.cloudflareEmail.$invalid }"
ng-show="dnsCredentials.provider === 'cloudflare' && dnsCredentials.cloudflareTokenType === 'GlobalApiKey'">
<label class="control-label">Cloudflare Email</label>
<input type="email" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-email ng-valid-required" ng-model="dnsCredentials.cloudflareEmail" name="cloudflareEmail" placeholder="Cloudflare Account Email"
ng-required="dnsCredentials.provider === 'cloudflare' && dnsCredentials.cloudflareTokenType === 'GlobalApiKey'" ng-disabled="dnsCredentials.busy">
</div>
<div class="checkbox ng-hide" ng-show="dnsCredentials.provider === 'cloudflare'">
<label>
<input type="checkbox" ng-model="dnsCredentials.cloudflareDefaultProxyStatus" class="ng-pristine ng-untouched ng-valid ng-empty"> Enable proxying for new DNS records
<sup><a ng-href="https://docs.cloudron.io/domains/#cloudflare-dns" class="help" target="_blank" tabindex="-1" href="https://docs.cloudron.io/domains/#cloudflare-dns"><i class="fa fa-question-circle"></i></a></sup>
</label>
</div>
<!-- Name.com -->
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.nameComUsername.$dirty && dnsCredentialsForm.nameComUsername.$invalid }" ng-show="dnsCredentials.provider === 'namecom'">
<label class="control-label">Name.com Username</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.nameComUsername" name="nameComUsername" placeholder="Name.com Username"
ng-required="dnsCredentials.provider === 'namecom'" ng-disabled="dnsCredentials.busy">
</div>
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.nameComToken.$dirty && dnsCredentialsForm.nameComToken.$invalid }" ng-show="dnsCredentials.provider === 'namecom'">
<label class="control-label">API Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.nameComToken" name="nameComToken" placeholder="Name.com API Token"
ng-required="dnsCredentials.provider === 'namecom'" ng-disabled="dnsCredentials.busy">
</div>
<!-- Namecheap -->
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.namecheapUsername.$dirty && dnsCredentialsForm.namecheapUsername.$invalid }" ng-show="dnsCredentials.provider === 'namecheap'">
<label class="control-label">Namecheap Username</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.namecheapUsername" name="namecheapUsername" placeholder="Namecheap Username"
ng-required="dnsCredentials.provider === 'namecheap'" ng-disabled="dnsCredentials.busy">
</div>
<div class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.namecheapApiKey.$dirty && dnsCredentialsForm.namecheapApiKey.$invalid }" ng-show="dnsCredentials.provider === 'namecheap'">
<label class="control-label">API Key</label>
<p class="small text-info ng-hide" ng-show="dnsCredentials.provider === 'namecheap'"><b>The server IP needs to be whitelisted for this API Key.</b></p>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.namecheapApiKey" name="namecheapApiKey" placeholder="Namecheap API Key"
ng-required="dnsCredentials.provider === 'namecheap'" ng-disabled="dnsCredentials.busy">
</div>
<!-- Linode -->
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'linode'">
<label class="control-label">API Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.linodeToken" name="linodeToken" ng-required="dnsCredentials.provider === 'linode'"
ng-disabled="dnsCredentials.busy">
</p>
<!-- Bunny -->
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'bunny'">
<label class="control-label">Access Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.bunnyAccessKey" name="bunnyAccessKey" ng-required="dnsCredentials.provider === 'bunny'"
ng-disabled="dnsCredentials.busy">
</p>
<!-- dnsimple -->
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'dnsimple'">
<label class="control-label">Access Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.dnsimpleAccessToken" name="dnsimpleAccessToken" ng-required="dnsCredentials.provider === 'dnsimple'"
ng-disabled="dnsCredentials.busy">
</p>
<!-- OVH -->
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'ovh'">
<label class="control-label" for="inputConfigureOvhEndpoint">Endpoint</label>
<select class="form-control ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-required" name="endpoint" id="inputConfigureOvhEndpoint" ng-model="dnsCredentials.ovhEndpoint" ng-options="a.value as a.name for a in ovhEndpoints"
ng-disabled="dnsCredentials.busy" ng-required="dnsCredentials.provider === 'ovh'">
<option label="OVH Europe" value="string:ovh-eu" selected="selected">OVH Europe</option>
<option label="OVH US" value="string:ovh-us">OVH US</option>
<option label="OVH North-America" value="string:ovh-ca">OVH North-America</option>
<option label="SoYouStart Europe" value="string:soyoustart-eu">SoYouStart Europe</option>
<option label="SoYouStart North-America" value="string:soyoustart-ca">SoYouStart North-America</option>
<option label="Kimsufi Europe" value="string:kimsufi-eu">Kimsufi Europe</option>
<option label="Kimsufi North-America" value="string:kimsufi-ca">Kimsufi North-America</option>
</select>
</p>
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'ovh'">
<label class="control-label">Consumer Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.ovhConsumerKey" name="ovhConsumerKey" ng-disabled="dnsCredentials.busy"
ng-required="dnsCredentials.provider === 'ovh'">
</p>
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'ovh'">
<label class="control-label">Application Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-minlength ng-valid-required" ng-model="dnsCredentials.ovhAppKey" name="ovhAppKey" ng-disabled="dnsCredentials.busy" ng-minlength="1"
ng-required="dnsCredentials.provider === 'ovh'">
</p>
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'ovh'">
<label class="control-label">Application Secret</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.ovhAppSecret" name="ovhAppSecret" ng-disabled="dnsCredentials.busy" ng-required="dnsCredentials.provider === 'ovh'">
</p>
<!-- Porkbun -->
<p class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.porkbunApikey.$dirty && dnsCredentialsForm.porkbunApikey.$invalid }" ng-show="dnsCredentials.provider === 'porkbun'">
<label class="control-label">API Key</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-minlength ng-valid-required" ng-model="dnsCredentials.porkbunApikey" name="porkbunApikey" placeholder="API Key" ng-minlength="1"
ng-required="dnsCredentials.provider === 'porkbun'" ng-disabled="dnsCredentials.busy">
</p>
<p class="form-group ng-hide" ng-class="{ 'has-error': dnsCredentialsForm.porkbunSecretapikey.$dirty && dnsCredentialsForm.porkbunSecretapikey.$invalid }" ng-show="dnsCredentials.provider === 'porkbun'">
<label class="control-label">API Secret</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.porkbunSecretapikey" name="porkbunSecretapikey" placeholder="API Secret"
ng-required="dnsCredentials.provider === 'porkbun'" ng-disabled="dnsCredentials.busy">
</p>
<!-- Hetzner -->
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'hetzner'">
<label class="control-label">API Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.hetznerToken" name="hetznerToken" ng-required="dnsCredentials.provider === 'hetzner'"
ng-disabled="dnsCredentials.busy">
</p>
<!-- Vultr -->
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'vultr'">
<label class="control-label">API Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.vultrToken" name="vultrToken" ng-required="dnsCredentials.provider === 'vultr'" ng-disabled="dnsCredentials.busy">
</p>
<!-- deSEC -->
<p class="form-group ng-hide" ng-show="dnsCredentials.provider === 'desec'">
<label class="control-label">API Token</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="dnsCredentials.deSecToken" name="deSecToken" ng-required="dnsCredentials.provider === 'desec'" ng-disabled="dnsCredentials.busy">
</p>
<!-- Wildcard -->
<p class="small text-info ng-hide" ng-show="dnsCredentials.provider === 'wildcard'">
<span>Set up A records for <b class="ng-binding">*.example.com.</b> and <b class="ng-binding">example.com.</b> to this server's IP.</span>
</p>
<!-- Manual -->
<p class="small text-info ng-hide" ng-show="dnsCredentials.provider === 'manual'">
<span>Set up an A record for <b class="ng-binding">my.example.com.</b> to this server's IP.<br></span>
</p>
<p class="small text-info ng-hide" ng-show="needsPort80(dnsCredentials.provider, dnsCredentials.tlsConfig.provider)">Let's Encrypt requires your server to be reachable on port 80</p>
<div ng-show="provider === 'ami'" class="ng-hide">
<h3 class="text-center">Owner verification</h3>
<p class="has-error text-center ng-binding ng-hide" ng-show="error.ami"></p>
<div class="form-group" style="margin-bottom: 0;" ng-class="{ 'has-error': dnsCredentialsForm.instanceId.$dirty && (dnsCredentialsForm.instanceId.$invalid || error.ami) }">
<label class="control-label">EC2 Instance Id</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-minlength ng-valid-required" ng-model="instanceId" id="inputInstanceId" name="instanceId" placeholder="i-0123456789abcdefg" ng-minlength="1"
ng-required="provider === 'ami'" autocomplete="off">
</div>
<p style="margin-top: 5px; font-size: 13px;">Provide the EC2 instance id to verify you have access to this server.</p>
</div>
<br>
<div uib-collapse="!advancedVisible" class="collapse" style="height: 0px;">
<div class="form-group">
<label class="control-label">DNS Zone Name (Optional)
<sup><a ng-href="https://docs.cloudron.io/domains/#zone-name" class="help" target="_blank" href="https://docs.cloudron.io/domains/#zone-name"><i class="fa fa-question-circle"></i></a></sup></label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty" ng-model="dnsCredentials.zoneName" name="zoneName" placeholder="Defaults to TLD" ng-disabled="dnsCredentials.busy">
</div>
<div class="form-group">
<label class="control-label">Certificate Provider
<sup><a ng-href="https://docs.cloudron.io/certificates/#certificate-providers" class="help" target="_blank" href="https://docs.cloudron.io/certificates/#certificate-providers"><i class="fa fa-question-circle"></i></a></sup></label>
<select class="form-control ng-pristine ng-untouched ng-valid ng-not-empty" ng-model="dnsCredentials.tlsConfig.provider" ng-options="a.value as a.name for a in tlsProvider" ng-disabled="dnsCredentials.busy">
<option label="Let's Encrypt Prod" value="string:letsencrypt-prod">Let's Encrypt Prod</option>
<option label="Let's Encrypt Prod - Wildcard" value="string:letsencrypt-prod-wildcard" selected="selected">Let's Encrypt Prod - Wildcard</option>
<option label="Let's Encrypt Staging" value="string:letsencrypt-staging">Let's Encrypt Staging</option>
<option label="Let's Encrypt Staging - Wildcard" value="string:letsencrypt-staging-wildcard">Let's Encrypt Staging - Wildcard</option>
<option label="Self-Signed" value="string:fallback">Self-Signed</option>
</select>
</div>
<!-- IPv4 provider -->
<div class="form-group">
<label class="control-label">IPv4 Configuration
<sup><a ng-href="https://docs.cloudron.io/networking/#ip-configuration" class="help" target="_blank" href="https://docs.cloudron.io/networking/#ip-configuration"><i class="fa fa-question-circle"></i></a></sup></label>
<select class="form-control ng-pristine ng-untouched ng-valid ng-not-empty" ng-model="ipv4Config.provider" ng-options="a.value as a.name for a in ipProviders">
<option label="Disabled" value="string:noop">Disabled</option>
<option label="Public IP" value="string:generic" selected="selected">Public IP</option>
<option label="Static IP Address" value="string:fixed">Static IP Address</option>
<option label="Network Interface" value="string:network-interface">Network Interface</option>
</select>
</div>
<!-- IPv4 Fixed -->
<div class="form-group ng-hide" ng-show="ipv4Config.provider === 'fixed'">
<label class="control-label">IPv4 Address</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="ipv4Config.ip" name="ipv4" ng-required="ipv4Config.provider === 'fixed'">
</div>
<!-- IPv4 Network Interface -->
<div class="form-group ng-hide" ng-show="ipv4Config.provider === 'network-interface'">
<label class="control-label">IPv4 Interface Name</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="ipv4Config.ifname" name="ifname4" ng-required="ipv4Config.provider === 'network-interface'">
</div>
<!-- IPv6 provider -->
<div class="form-group">
<label class="control-label">IPv6 Configuration
<sup><a ng-href="https://docs.cloudron.io/networking/#ip-configuration" class="help" target="_blank" href="https://docs.cloudron.io/networking/#ip-configuration"><i class="fa fa-question-circle"></i></a></sup></label>
<select class="form-control ng-pristine ng-untouched ng-valid ng-not-empty" ng-model="ipv6Config.provider" ng-options="a.value as a.name for a in ipProviders">
<option label="Disabled" value="string:noop">Disabled</option>
<option label="Public IP" value="string:generic" selected="selected">Public IP</option>
<option label="Static IP Address" value="string:fixed">Static IP Address</option>
<option label="Network Interface" value="string:network-interface">Network Interface</option>
</select>
</div>
<!-- IPv6 Fixed -->
<div class="form-group ng-hide" ng-show="ipv6Config.provider === 'fixed'">
<label class="control-label">IPv6 Address</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="ipv6Config.ip" name="ipv6" ng-required="ipv6Config.provider === 'fixed'">
</div>
<!-- IPv6 Network Interface -->
<div class="form-group ng-hide" ng-show="ipv6Config.provider === 'network-interface'">
<label class="control-label">IPv6 Interface Name</label>
<input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-empty ng-valid-required" ng-model="ipv6Config.ifname" name="ifname6" ng-required="ipv6Config.provider === 'network-interface'">
</div>
</div>
<div class="text-center">
<a href="" ng-click="advancedVisible = true" ng-hide="advancedVisible">Advanced settings...</a>
<a href="" ng-click="advancedVisible = false" ng-show="advancedVisible" class="ng-hide">Hide Advanced settings</a>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12 text-center">
<button type="submit" class="btn btn-primary" ng-disabled="dnsCredentialsForm.$invalid" disabled="disabled"><i class="fa fa-circle-notch fa-spin ng-hide" ng-show="dnsCredentials.busy"></i> Next</button>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12 text-center"><small>Looking to <a ng-href="/restore.html" href="/restore.html">restore?</a></small></div>
</div>
</form>
Text Content
... Please wait while Cloudron is setting up the dashboard at my.. You can follow the logs on the server at /home/yellowtent/platformdata/logs/box.log DOMAIN SETUP Domain Are you sure about this domain? The dashboard will be at my. Apps will be installed on subdomains of this domain. The dashboard will be available on the my subdomain. You can add more domains later. DOMAIN CONFIGURATION DNS Provider AWS Route53BunnyCloudflaredeSECDigitalOceanDNSimpleGandi LiveDNSGoDaddyGoogle Cloud DNSHetznerLinodeName.comNamecheapNetcupOVHPorkbunVultrWildcardManual (not recommended)No-op (only for development) Access Key Id Secret Access Key Service Account Key DigitalOcean Token Gandi API Key API Key API Secret Customer Number API Key API Password Token Type Global API Key API Token Global API Key Api Token Cloudflare Email Enable proxying for new DNS records Name.com Username API Token Namecheap Username API Key The server IP needs to be whitelisted for this API Key. API Token Access Key Access Token Endpoint OVH EuropeOVH USOVH North-AmericaSoYouStart EuropeSoYouStart North-AmericaKimsufi EuropeKimsufi North-America Consumer Key Application Key Application Secret API Key API Secret API Token API Token API Token Set up A records for *.example.com. and example.com. to this server's IP. Set up an A record for my.example.com. to this server's IP. Let's Encrypt requires your server to be reachable on port 80 OWNER VERIFICATION EC2 Instance Id Provide the EC2 instance id to verify you have access to this server. DNS Zone Name (Optional) Certificate Provider Let's Encrypt ProdLet's Encrypt Prod - WildcardLet's Encrypt StagingLet's Encrypt Staging - WildcardSelf-Signed IPv4 Configuration DisabledPublic IPStatic IP AddressNetwork Interface IPv4 Address IPv4 Interface Name IPv6 Configuration DisabledPublic IPStatic IP AddressNetwork Interface IPv6 Address IPv6 Interface Name Advanced settings... Hide Advanced settings Next Looking to restore? ©2022 Cloudron Forum