08f116486a
this has openLinksInNewWindow which is smart enough that internal links open in same tab and external links open in new tab
142 lines
7.2 KiB
HTML
142 lines
7.2 KiB
HTML
<!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" />
|
|
|
|
<title> Cloudron Setup </title>
|
|
|
|
<link id="favicon" href="/api/v1/cloudron/avatar" rel="icon" type="image/png">
|
|
|
|
<!-- Theme CSS -->
|
|
<link type="text/css" rel="stylesheet" href="/theme.css">
|
|
|
|
<!-- Fontawesome -->
|
|
<link type="text/css" rel="stylesheet" href="/3rdparty/fontawesome/css/all.css?<%= revision %>"/>
|
|
|
|
<!-- jQuery-->
|
|
<script type="text/javascript" src="/3rdparty/js/jquery.min.js"></script>
|
|
|
|
<!-- async -->
|
|
<script type="text/javascript" src="/3rdparty/js/async-3.2.0.min.js"></script>
|
|
|
|
<!-- Bootstrap Core JavaScript -->
|
|
<script type="text/javascript" src="/3rdparty/js/bootstrap.min.js"></script>
|
|
|
|
<!-- Angularjs scripts -->
|
|
<script type="text/javascript" src="/3rdparty/js/angular.min.js"></script>
|
|
<script type="text/javascript" src="/3rdparty/js/angular-loader.min.js"></script>
|
|
<script type="text/javascript" src="/3rdparty/js/angular-md5.min.js"></script>
|
|
<script type="text/javascript" src="/3rdparty/js/angular-ui-notification.js"></script>
|
|
<script type="text/javascript" src="/3rdparty/js/autofill-event.js"></script>
|
|
|
|
<!-- Angular directives for bootstrap https://angular-ui.github.io/bootstrap/ -->
|
|
<script type="text/javascript" src="/3rdparty/js/ui-bootstrap-tpls-1.3.3.min.js"></script>
|
|
|
|
<!-- Showdown (markdown converter) -->
|
|
<script type="text/javascript" src="/3rdparty/js/showdown-1.9.1.min.js?<%= revision %>"></script>
|
|
|
|
<!-- Setup Application -->
|
|
<script type="text/javascript" src="/js/setup.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="setup" ng-app="Application" ng-controller="SetupController">
|
|
|
|
<a class="offline-banner animateMe" ng-show="client.offline" ng-cloak href="https://cloudron.io/documentation/troubleshooting/" target="_blank"><i class="fa fa-circle-notch fa-spin"></i> Cloudron is offline. Reconnecting...</a>
|
|
|
|
<div class="main-container" ng-show="initialized">
|
|
<div class="row" ng-show="view === 'owner'">
|
|
<div class="col-md-6 col-md-offset-3">
|
|
<div class="card" style="max-width: none; padding: 20px;">
|
|
<form role="form" name="ownerForm" ng-submit="owner.submit()" novalidate>
|
|
<div class="row">
|
|
<div class="col-md-12 text-center">
|
|
<h1>Welcome to Cloudron</h1>
|
|
<h3>Setup Admin Account</h3>
|
|
</div>
|
|
</div>
|
|
<br/>
|
|
<br/>
|
|
<div class="row">
|
|
<div class="col-md-8 col-md-offset-2">
|
|
<div class="form-group" ng-class="{ 'has-error': ownerForm.displayName.$dirty && ownerForm.displayName.$invalid }">
|
|
<label class="control-label" for="inputDisplayName">Full Name</label>
|
|
<input type="text" class="form-control" ng-model="owner.displayName" id="inputDisplayName" name="displayName" placeholder="Full Name" required autocomplete="off" ng-disabled="owner.busy" autofocus>
|
|
</div>
|
|
<div class="form-group" ng-class="{ 'has-error': ownerForm.email.$dirty && ownerForm.email.$invalid }">
|
|
<label class="control-label" for="inputEmail">Email <sup><a ng-href="{{ webServerOrigin }}/documentation/installation/#admin-account" class="help" target="_blank" tabIndex="-1"><i class="fa fa-question-circle"></i></a></sup></label>
|
|
<input type="email" class="form-control" ng-model="owner.email" id="inputEmail" name="email" placeholder="Email" required autocomplete="off" ng-disabled="owner.busy">
|
|
<small>A valid email is required for Let's Encrypt certificates. This email is local to your Cloudron. </small>
|
|
</div>
|
|
<div class="form-group" ng-class="{ 'has-error': (ownerForm.username.$dirty && ownerForm.username.$invalid) || (!ownerForm.username.$dirty && owner.error.username) }">
|
|
<label class="control-label" for="inputUsername">Username</label>
|
|
<input type="text" class="form-control" ng-model="owner.username" id="inputUsername" name="username" placeholder="Username" ng-maxlength="512" ng-minlength="1" required autocomplete="off" ng-disabled="owner.busy">
|
|
<small>{{ owner.error.username }}</small>
|
|
</div>
|
|
<div class="form-group" style="margin-bottom: 0;" ng-class="{ 'has-error': ownerForm.password.$dirty && ownerForm.password.$invalid }">
|
|
<label class="control-label" for="inputPassword">Password</label>
|
|
<input type="password" class="form-control" ng-model="owner.password" id="inputPassword" name="password" placeholder="Password" ng-pattern="/^.{8,}$/" required autocomplete="off" ng-disabled="owner.busy">
|
|
<small><span ng-show="ownerForm.password.$dirty && ownerForm.password.$invalid">Password must be at least 8 characters</span> </small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<br/>
|
|
<br/>
|
|
<div class="row">
|
|
<div class="col-md-12 text-center">
|
|
<button type="submit" class="btn btn-success" ng-disabled="ownerForm.$invalid || owner.busy"><i class="fa fa-circle-notch fa-spin" ng-show="owner.busy"></i> Create Admin</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row" ng-show="view === 'finished'">
|
|
<div class="col-md-6 col-md-offset-3">
|
|
<div class="card" style="max-width: none; padding: 20px 40px;">
|
|
<div class="row">
|
|
<div class="col-md-12 text-center">
|
|
<h1>Cloudron is ready to use</h1>
|
|
</div>
|
|
</div>
|
|
<p>
|
|
Before you start:
|
|
<ul class="fa-ul">
|
|
<li><i class="fa-li fa fa-users"></i>
|
|
<b>User management</b>: Cloudron has a central user directory. When installing an app,
|
|
you can set it up to authenticate against this directory.
|
|
</li>
|
|
<br/>
|
|
<li><i class="fa-li fa fa-envelope-open"></i>
|
|
<b>Email Configuration</b>: Apps are configured to send email based on the settings in the Email view.
|
|
This saves you the trouble of having to configure mail settings inside each app.
|
|
</li>
|
|
<br/>
|
|
<li><i class="fa-li fa fa-birthday-cake"></i>
|
|
<b>Updates</b>: The Cloudron team tracks upstream releases and publishes app updates after testing.
|
|
Your apps are kept fresh & secure.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
<br/>
|
|
<br/>
|
|
<div class="row">
|
|
<div class="col-md-12 text-center">
|
|
<a class="btn btn-success" href="/">Proceed to Dashboard</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="text-center">
|
|
<span class="text-muted">©2020 <a href="https://cloudron.io" target="_blank">Cloudron</a></span>
|
|
<span class="text-muted"><a href="https://forum.cloudron.io" target="_blank">Forum <i class="fa fa-comments"></i></a></span>
|
|
</footer>
|
|
|
|
</body>
|
|
</html>
|