2017-01-05 11:02:43 +01:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" / >
2017-01-05 12:08:52 +01:00
< title > Cloudron DNS Setup < / title >
2017-01-05 11:02:43 +01:00
<!-- Theme CSS -->
< link href = "theme.css" rel = "stylesheet" >
<!-- Custom Fonts -->
< link href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel = "stylesheet" type = "text/css" >
<!-- jQuery -->
< script src = "3rdparty/js/jquery.min.js" > < / script >
<!-- Bootstrap Core JavaScript -->
< script src = "3rdparty/js/bootstrap.min.js" > < / script >
<!-- Angularjs scripts -->
< script src = "3rdparty/js/angular.min.js" > < / script >
< script src = "3rdparty/js/angular-loader.min.js" > < / script >
< script src = "3rdparty/js/angular-md5.min.js" > < / script >
< script src = "3rdparty/js/angular-ui-notification.min.js" > < / script >
< script src = "3rdparty/js/autofill-event.js" > < / script >
<!-- Setup Application -->
< script src = "js/setupdns.js" > < / script >
< / head >
2017-01-05 11:53:45 +01:00
< body class = "setup" ng-app = "Application" ng-controller = "SetupDNSController" >
2017-01-05 14:43:18 +01:00
2017-01-05 15:38:01 +01:00
< div class = "main-container ng-cloak text-center" ng-show = "busy" >
2017-01-05 14:43:18 +01:00
< div class = "row" >
< div class = "col-md-6 col-md-offset-3" >
2017-01-05 16:31:23 +01:00
< i class = "fa fa-cog fa-spin fa-5x" > < / i > < br / >
< h3 > Waiting for DNS and SSL< / h3 >
2017-01-05 14:43:18 +01:00
< / div >
< / div >
2017-01-05 15:38:01 +01:00
< / div >
2017-01-05 14:43:18 +01:00
2017-01-05 15:38:01 +01:00
< div class = "main-container ng-cloak" ng-show = "initialized && !busy" >
2017-01-05 11:02:43 +01:00
< div class = "row" >
< div class = "col-md-6 col-md-offset-3" >
< div class = "card" style = "max-width: none; padding: 20px;" >
2017-01-05 14:43:18 +01:00
< form name = "dnsCredentialsForm" role = "form" novalidate ng-submit = "setDnsCredentials()" autocomplete = "off" >
< div class = "row" >
2017-01-05 16:35:38 +01:00
< div class = "col-md-10 col-md-offset-1 text-center" >
< h1 > DNS Setup< / h1 >
2017-01-05 14:43:18 +01:00
< h3 > Specify the domain for your Cloudron< / h3 >
< div class = "form-group" ng-class = "{ 'has-error': dnsCredentialsForm.domain.$dirty && dnsCredentialsForm.domain.$invalid }" >
< input type = "text" class = "form-control" ng-model = "dnsCredentials.domain" name = "domain" ng-minlength = "4" ng-maxlength = "128" placeholder = "example.com" required autofocus ng-disabled = "dnsCredentials.busy" >
2017-01-05 11:02:43 +01:00
< / div >
2017-01-05 14:43:18 +01:00
< p > Apps will be installed on subdomains of that domain.< / p >
2017-01-05 11:02:43 +01:00
< / div >
2017-01-05 14:43:18 +01:00
< / div >
< div class = "row" >
2017-01-05 16:35:38 +01:00
< div class = "col-md-10 col-md-offset-1 text-center" >
2017-01-05 14:43:18 +01:00
< h3 > DNS Provider Configuration< / h3 >
< p class = "has-error text-center" ng-show = "dnsCredentials.error" > {{ dnsCredentials.error }}< / p >
< div class = "form-group" >
< select class = "form-control" ng-model = "dnsCredentials.provider" ng-options = "a.value as a.name for a in dnsProvider" ng-disabled = "dnsCredentials.busy" > < / select >
2017-01-05 11:02:43 +01:00
< / div >
2017-01-05 14:43:18 +01:00
<!-- Route53 -->
< div class = "form-group" ng-class = "{ 'has-error': dnsCredentialsForm.accessKeyId.$dirty && dnsCredentialsForm.accessKeyId.$invalid }" ng-show = "dnsCredentials.provider === 'route53'" >
< input type = "text" class = "form-control" 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" >
< / div >
< div class = "form-group" ng-class = "{ 'has-error': dnsCredentialsForm.secretAccessKey.$dirty && dnsCredentialsForm.secretAccessKey.$invalid }" ng-show = "dnsCredentials.provider === 'route53'" >
< input type = "text" class = "form-control" ng-model = "dnsCredentials.secretAccessKey" name = "secretAccessKey" placeholder = "Secret Access Key" ng-required = "dnsCredentials.provider === 'route53'" ng-disabled = "dnsCredentials.busy" >
< / div >
<!-- DigitalOcean -->
< div class = "form-group" ng-class = "{ 'has-error': dnsCredentialsForm.digitalOceanToken.$dirty && dnsCredentialsForm.digitalOceanToken.$invalid }" ng-show = "dnsCredentials.provider === 'digitalocean'" >
< input type = "text" class = "form-control" ng-model = "dnsCredentials.digitalOceanToken" name = "digitalOceanToken" placeholder = "API Token" ng-required = "dnsCredentials.provider === 'digitalocean'" ng-disabled = "dnsCredentials.busy" >
2017-01-05 11:02:43 +01:00
< / div >
2017-01-05 14:43:18 +01:00
<!-- Wildcard -->
< p ng-show = "dnsCredentials.provider === 'wildcard'" >
2017-01-09 13:37:54 +01:00
< span class = "text-danger" > A wildcard DNS < b > A< / b > record has to be setup for < b > {{ dnsCredentials.domain || 'example.com' }}< / b > to this IP!< / span >
2017-01-05 14:43:18 +01:00
< / p >
<!-- Manual -->
< p ng-show = "dnsCredentials.provider === 'manual'" >
2017-01-09 13:37:54 +01:00
< span class = "text-danger" > A DNS < b > A< / b > record for < b > my.{{ dnsCredentials.domain || 'example.com' }}< / b > to this IP has to be created!< / span > < br / >
< br / >
2017-01-06 18:42:22 +01:00
All DNS records have to be setup manually for each app installation.
2017-01-05 14:43:18 +01:00
< / p >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-12 text-center" >
2017-01-05 16:35:38 +01:00
< button type = "submit" class = "btn btn-primary" ng-disabled = "dnsCredentialsForm.$invalid" / > < i class = "fa fa-cog fa-spin" ng-show = "dnsCredentials.busy" > < / i > Next< / button >
2017-01-05 11:02:43 +01:00
< / div >
2017-01-05 14:43:18 +01:00
< / div >
< / form >
2017-01-05 11:02:43 +01:00
< / div >
< / div >
< / div >
< / div >
2017-01-06 17:57:22 +01:00
< footer >
< span class = "text-muted" > < a href = "mailto: support@cloudron.io" > Contact Support< / a > - Copyright © < a href = "https://cloudron.io" target = "_blank" > Cloudron< / a > 2017< / span >
< / footer >
2017-01-05 11:02:43 +01:00
< / body >
< / html >